14:08:44.152 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:08:44.153 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:08:44.155 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:08:44.156 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:08:44.156 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:08:44.161 [debug] QUERY OK source="oban_jobs" db=3.2ms queue=16.6ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:08:44.161 [info] Reset 0 executing jobs 14:08:44.162 [info] Creating blank file: /config/extras/cookies.txt 14:08:44.337 [info] Creating blank file: /config/extras/yt-dlp-configs/base-config.txt 14:08:44.395 [info] Creating blank file and making it executable: /config/extras/user-scripts/lifecycle 14:08:44.461 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:08:45.719 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2025.09.26 14:08:45.719 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:08:46.042 [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:08:46.046 [debug] QUERY OK source="settings" db=3.1ms queue=0.4ms idle=1884.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.139 [debug] QUERY OK source="settings" db=92.8ms idle=1888.2ms UPDATE "settings" SET "yt_dlp_version" = ? WHERE "id" = ? ["2025.09.26", 1] 14:08:46.142 [debug] QUERY OK source="settings" db=2.6ms idle=93.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.189 [debug] QUERY OK source="settings" db=46.5ms queue=0.1ms idle=3.5ms UPDATE "settings" SET "apprise_version" = ? WHERE "id" = ? ["v1.9.4", 1] 14:08:46.190 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:08:46.194 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:08:46.203 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:08:46.206 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:08:46.331 [info] {"args":{},"id":1,"meta":{},"system_time":1761588526331257812,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:08:46.331 [info] Updating yt-dlp 14:08:46.331 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:08:46.975 [debug] Tzdata polling for update. 14:08:47.431 [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 Sat, 22 Mar 2025 21:45:31 GMT. 14:08:47.432 [debug] Tzdata downloading new data from https://data.iana.org/time-zones/tzdata-latest.tar.gz 14:08:49.661 [debug] Tzdata data downloaded. Release version 2025b. 14:08:50.268 [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@2025.10.22 from yt-dlp/yt-dlp Current Build Hash: d2f07382138f4bd882254996502636f5a67a8c5ee5ab8a25807e2784a4878642 Updating to stable@2025.10.22 from yt-dlp/yt-dlp ... Updated yt-dlp to stable@2025.10.22 from yt-dlp/yt-dlp 14:08:50.268 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:08:50.941 [info] Tzdata has updated the release from 2025a to 2025b 14:08:50.941 [debug] Tzdata deleting ETS table for version 2025a 14:08:50.944 [debug] Tzdata deleting ETS table file for version 2025a 14:08:51.477 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2025.10.22 14:08:51.480 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms idle=1283.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.548 [debug] QUERY OK source="settings" db=67.0ms idle=1286.3ms UPDATE "settings" SET "yt_dlp_version" = ? WHERE "id" = ? ["2025.10.22", 1] 14:08:51.606 [info] {"args":{},"id":1,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":5217357,"event":"job:stop","queue_time":265658,"attempt":1,"tags":["local_data"]} 14:09:00.195 [info] {"source":"oban","duration":294,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:09:11.608 [info] GET / 14:09:11.609 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:09:11.613 [debug] QUERY OK source="settings" db=3.7ms idle=1270.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:11.618 [debug] QUERY OK source="settings" db=4.3ms queue=0.7ms idle=418.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:11.621 [debug] QUERY OK source="media_profiles" db=2.7ms queue=0.2ms idle=424.0ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 14:09:11.625 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=427.2ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 14:09:11.628 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=282.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:11.631 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms 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 [] 14:09:11.636 [info] Sent 200 in 28ms 14:09:12.789 [info] GET / 14:09:12.790 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:09:12.793 [debug] QUERY OK source="settings" db=2.7ms idle=1168.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.795 [debug] QUERY OK source="settings" db=2.6ms idle=1168.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.798 [debug] QUERY OK source="media_profiles" db=2.2ms idle=1167.3ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 14:09:12.801 [debug] QUERY OK source="sources" db=2.5ms idle=1167.3ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 14:09:12.804 [debug] QUERY OK source="settings" db=2.2ms idle=452.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.806 [debug] QUERY OK source="settings" db=2.1ms idle=11.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:09:12.807 [info] Sent 200 in 17ms 14:09:13.659 [info] GET /media_profiles/new 14:09:13.660 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 14:09:13.664 [debug] QUERY OK source="settings" db=2.9ms idle=862.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:13.666 [debug] QUERY OK source="settings" db=2.3ms idle=863.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:13.669 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms 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:09:13.672 [debug] QUERY OK source="settings" db=2.1ms idle=863.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:13.674 [info] Sent 200 in 15ms 14:09:14.260 [info] GET /media_profiles/new 14:09:14.260 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 14:09:14.263 [debug] QUERY OK source="settings" db=2.8ms idle=903.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:14.266 [debug] QUERY OK source="settings" db=2.4ms idle=599.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:14.269 [debug] QUERY OK source="settings" db=2.4ms idle=599.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:14.272 [debug] QUERY OK source="settings" db=2.2ms idle=600.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:14.274 [info] Sent 200 in 14ms 14:09:16.199 [info] {"source":"oban","duration":4753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:46.205 [info] {"source":"oban","duration":4461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:00.195 [info] {"source":"oban","duration":263,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:10:16.212 [info] {"source":"oban","duration":6279,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:46.217 [info] {"source":"oban","duration":3666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:00.197 [info] {"source":"oban","duration":282,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:11:16.224 [info] {"source":"oban","duration":5277,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:46.230 [info] {"source":"oban","duration":4770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:00.198 [info] {"source":"oban","duration":336,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:12:16.235 [info] {"source":"oban","duration":3357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:46.239 [info] {"source":"oban","duration":3813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:00.198 [info] {"source":"oban","duration":224,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:13:16.244 [info] {"source":"oban","duration":3945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:46.249 [info] {"source":"oban","duration":3861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:58.023 [info] POST /media_profiles 14:13:58.024 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.create/2 Parameters: %{"_csrf_token" => "YhYDAhkWX1UvKgRhBg5hOQUuMVMRJCMpZggeZoo0xFEYvFTRWwT6ICOk", "media_profile" => %{"audio_track" => "", "download_auto_subs" => "true", "download_metadata" => "false", "download_nfo" => "true", "download_source_images" => "true", "download_subs" => "true", "download_thumbnail" => "true", "embed_metadata" => "true", "embed_subs" => "true", "embed_thumbnail" => "true", "livestream_behaviour" => "exclude", "media_container" => "", "name" => "YouTube Series (With Ep Nums)", "output_path_template" => "/shows/{{ source_custom_name }}/{{ static_season__episode_by_index }} - {{ title }}.{{ ext }}", "preferred_resolution" => "1080p", "redownload_delay_days" => "1", "shorts_behaviour" => "exclude", "sponsorblock_behaviour" => "mark", "sponsorblock_categories" => ["sponsor", "intro", "outro", "selfpromo", "interaction"], "sub_langs" => "en"}, "media_profile_preset" => "default"} Pipelines: [:browser] 14:13:58.089 [debug] QUERY OK source="media_profiles" db=60.5ms idle=1833.5ms 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" ["YouTube Series (With Ep Nums)", "/shows/{{ source_custom_name }}/{{ static_season__episode_by_index }} - {{ title }}.{{ ext }}", ["sponsor", "intro", "outro", "selfpromo", "interaction"], :mark, true, true, true, true, true, "en", :"1080p", false, true, true, true, :exclude, 1, :exclude, ~U[2025-10-27 18:13:58Z], ~U[2025-10-27 18:13:58Z]] 14:13:58.093 [debug] QUERY OK source="settings" db=3.3ms idle=1894.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:58.093 [info] Sent 302 in 70ms 14:13:58.122 [info] GET / 14:13:58.123 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{"onboarding" => "1"} Pipelines: [:browser] 14:13:58.126 [debug] QUERY OK source="settings" db=3.2ms idle=1928.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:58.130 [debug] QUERY OK source="media_profiles" db=2.9ms idle=1454.2ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 14:13:58.132 [debug] QUERY OK source="sources" db=2.6ms idle=452.2ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 14:13:58.135 [debug] QUERY OK source="settings" db=2.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 [] 14:13:58.138 [debug] QUERY OK source="settings" db=2.5ms idle=42.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:58.140 [info] Sent 200 in 17ms 14:13:59.052 [info] GET / 14:13:59.052 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{"onboarding" => "1"} Pipelines: [:browser] 14:13:59.055 [debug] QUERY OK source="settings" db=3.3ms idle=922.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:59.058 [debug] QUERY OK source="media_profiles" db=2.3ms idle=923.1ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 14:13:59.061 [debug] QUERY OK source="sources" db=2.6ms idle=923.0ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 14:13:59.064 [debug] QUERY OK source="settings" db=2.3ms idle=923.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:59.067 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=380.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:59.069 [info] Sent 200 in 17ms 14:14:00.200 [info] {"source":"oban","duration":314,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:14:04.738 [info] GET /sources/new 14:14:04.739 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 14:14:04.743 [debug] QUERY OK source="media_profiles" db=3.4ms queue=0.2ms idle=544.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 14:14:04.746 [debug] QUERY OK source="settings" db=3.1ms idle=548.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:04.750 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=552.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:04.754 [debug] QUERY OK source="settings" db=2.9ms idle=556.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:04.757 [debug] QUERY OK source="settings" db=2.8ms idle=41.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:04.761 [info] Sent 200 in 22ms 14:14:05.540 [info] GET /sources/new 14:14:05.540 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 14:14:05.543 [debug] QUERY OK source="media_profiles" db=2.7ms idle=797.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 14:14:05.546 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=796.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:05.549 [debug] QUERY OK source="settings" db=2.9ms idle=795.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:05.552 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms idle=795.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:05.555 [debug] QUERY OK source="settings" db=2.3ms idle=795.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:05.558 [info] Sent 200 in 18ms 14:14:16.254 [info] {"source":"oban","duration":3810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:46.259 [info] {"source":"oban","duration":3494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:00.201 [info] {"source":"oban","duration":312,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:15:16.264 [info] {"source":"oban","duration":4064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:46.268 [info] {"source":"oban","duration":2661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:00.202 [info] {"source":"oban","duration":274,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:16:16.272 [info] {"source":"oban","duration":3903,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:25.246 [info] GET / 14:16:25.246 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:16:25.250 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms idle=1047.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:25.252 [debug] QUERY OK source="settings" db=2.1ms idle=1050.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:25.255 [debug] QUERY OK source="media_profiles" db=2.0ms queue=0.1ms idle=1053.0ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 14:16:25.257 [debug] QUERY OK source="sources" db=2.0ms idle=1055.4ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 14:16:25.263 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=867.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:25.265 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms 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:16:25.268 [info] Sent 200 in 21ms 14:16:46.278 [info] {"source":"oban","duration":4385,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:52.741 [info] POST /sources 14:16:52.742 [debug] Processing with PinchflatWeb.Sources.SourceController.create/2 Parameters: %{"_csrf_token" => "CBYlJQoqRBZjCHNeRn1bLB0TMAgSLz0u0gABISts4d2f65nGOJUmJHQl", "download_cutoff_date_preset" => "", "source" => %{"cookie_behaviour" => "when_needed", "custom_name" => "Shadow Of Israphel", "download_cutoff_date" => "", "download_media" => "false", "fast_index" => "false", "index_frequency_minutes" => "-1", "max_duration_seconds" => "", "media_profile_id" => "1", "min_duration_seconds" => "", "original_url" => "https://www.youtube.com/playlist?list=PLF60520313D07F366", "output_path_template_override" => "", "retention_period_days" => "", "title_filter_regex" => ""}} Pipelines: [:browser] 14:16:52.748 [debug] Running yt-dlp command for action: get_source_details 14:16:52.755 [debug] QUERY OK source="settings" db=2.7ms idle=1552.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:52.758 [debug] QUERY OK source="settings" db=2.4ms idle=1555.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:52.760 [debug] QUERY OK source="settings" db=2.5ms idle=1246.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:52.761 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLF60520313D07F366 --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/db/9b/db9bbd44965ffcd59c902bd64c4c6d745e06d12ab6ea023d4f5891ffc16d5d40.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:16:57.654 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLF60520313D07F366 --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/db/9b/db9bbd44965ffcd59c902bd64c4c6d745e06d12ab6ea023d4f5891ffc16d5d40.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] 4UdEFmxRmNE: nsig extraction failed: Some formats may be missing n = S3wjV0H50REANA4 ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] 4UdEFmxRmNE: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 4UdEFmxRmNE: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 14:16:57.719 [debug] QUERY OK source="sources" db=59.2ms idle=1459.7ms INSERT INTO "sources" ("enabled","uuid","download_media","custom_name","original_url","media_profile_id","collection_id","collection_name","collection_type","fast_index","index_frequency_minutes","cookie_behaviour","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14) RETURNING "id" [true, "88c059eb-0ad2-4be2-9412-6aab2c49a275", false, "Shadow Of Israphel", "https://www.youtube.com/playlist?list=PLF60520313D07F366", 1, "PLF60520313D07F366", "Minecraft Survival Multiplayer/ SoI", :playlist, false, -1, :when_needed, ~U[2025-10-27 18:16:57Z], ~U[2025-10-27 18:16:57Z]] 14:16:57.722 [debug] QUERY OK source="tasks" db=2.9ms idle=1519.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."worker" LIKE ?) AND (o1."state" IN (?,?,?,?)) [1, "%.MediaCollectionIndexingWorker", "available", "scheduled", "retryable", "executing"] 14:16:57.811 [debug] QUERY OK source="tasks" db=41.7ms idle=190.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2, 1, ~U[2025-10-27 18:16:57Z], ~U[2025-10-27 18:16:57Z]] 14:16:57.894 [debug] QUERY OK source="tasks" db=41.2ms queue=0.1ms idle=130.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [3, 1, ~U[2025-10-27 18:16:57Z], ~U[2025-10-27 18:16:57Z]] 14:16:57.897 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=126.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:57.898 [info] Sent 302 in 5156ms 14:16:57.953 [info] GET / 14:16:57.953 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{"onboarding" => "1"} Pipelines: [:browser] 14:16:57.954 [info] {"args":{"id":1},"id":3,"meta":{},"system_time":1761589017953619445,"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"]} 14:16:57.957 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms idle=142.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:57.957 [debug] QUERY OK source="sources" db=2.6ms queue=0.2ms idle=101.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:16:57.960 [debug] QUERY OK source="media_profiles" db=1.9ms queue=0.4ms idle=60.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:57.960 [debug] QUERY OK source="media_profiles" db=3.3ms idle=62.5ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 14:16:57.961 [debug] QUERY OK source="sources" db=0.5ms idle=3.8ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 14:16:57.962 [debug] QUERY OK source="source_metadata" db=3.5ms queue=0.4ms idle=4.7ms 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] 14:16:57.963 [debug] Running yt-dlp command for action: get_source_details 14:16:57.964 [debug] QUERY OK source="settings" db=2.9ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:57.965 [debug] QUERY OK source="settings" db=0.6ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:57.967 [debug] QUERY OK source="settings" db=1.9ms 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:16:57.967 [debug] QUERY OK source="settings" db=2.6ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:57.969 [info] Sent 200 in 16ms 14:16:57.972 [debug] QUERY OK source="settings" db=4.8ms 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:16:57.973 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLF60520313D07F366 --simulate --skip-download --ignore-no-formats-error --playlist-end 1 --output /downloads/shows/Shadow Of Israphel/Season 1/s01e00 - %(title)S.%(ext)S --print-to-file %(.{channel,channel_id,playlist_id,playlist_title,filename})j /tmp/pinchflat/data/04/cc/04cc1101a6ad7ebdbb7a06d99624c76586ebfb90fca0b3bac0a7c51a0ff0d5d3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:16:58.736 [info] {"args":{"id":1},"id":2,"meta":{},"system_time":1761589018736699722,"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:16:58.740 [debug] QUERY OK source="sources" db=2.8ms idle=769.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:58.743 [debug] QUERY OK source="settings" db=2.7ms 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 [] 14:16:58.747 [debug] QUERY OK source="media_profiles" db=3.9ms idle=771.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:58.751 [debug] QUERY OK source="settings" db=3.0ms idle=111.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:58.756 [debug] QUERY OK source="settings" db=4.5ms 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 [] 14:16:58.758 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:16:58.758 [debug] Current batch of media processed. Will check again in 1000ms 14:16:58.763 [debug] QUERY OK source="settings" db=3.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 [] 14:16:58.766 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms idle=20.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:58.770 [debug] QUERY OK source="settings" db=3.6ms queue=0.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:16:58.771 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLF60520313D07F366 --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Shadow Of Israphel/Season 1/s01e00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/3b/da/3bda71069f076c825003d64f456c3f6cc9751e3fb7a3bb8e4391eac3ce6373dd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:16:59.759 [debug] Current batch of media processed. Will check again in 1000ms 14:17:00.202 [info] {"source":"oban","duration":250,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:17:00.760 [debug] Current batch of media processed. Will check again in 1000ms 14:17:00.954 [info] GET / 14:17:00.954 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{"onboarding" => "0"} Pipelines: [:browser] 14:17:00.957 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=755.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:01.061 [debug] QUERY OK source="settings" db=103.3ms queue=0.1ms idle=758.2ms UPDATE "settings" SET "onboarding" = ? WHERE "id" = ? [false, 1] 14:17:01.065 [debug] QUERY OK source="settings" db=3.4ms idle=862.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:01.070 [debug] QUERY OK source="media_profiles" db=4.3ms queue=0.2ms idle=862.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:17:01.075 [debug] QUERY OK source="sources" db=3.8ms queue=0.4ms idle=421.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:17:01.079 [debug] QUERY OK source="media_items" db=3.7ms queue=0.2ms idle=117.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:17:01.083 [debug] QUERY OK source="media_items" db=3.9ms queue=0.3ms idle=18.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:17:01.091 [debug] QUERY OK source="settings" db=6.1ms 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 [] 14:17:01.097 [debug] QUERY OK source="settings" db=5.9ms 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 [] 14:17:01.103 [debug] QUERY OK source="settings" db=5.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:17:01.111 [debug] QUERY OK source="tasks" db=6.1ms idle=25.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:17:01.116 [debug] QUERY OK source="sources" db=3.6ms queue=0.4ms idle=28.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:01.121 [debug] QUERY OK source="media_items" db=2.8ms queue=0.7ms idle=26.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:17:01.127 [debug] QUERY OK source="media_items" db=5.0ms queue=0.3ms idle=24.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] 14:17:01.131 [debug] QUERY OK source="media_items" db=2.7ms queue=0.4ms 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:17:01.136 [debug] QUERY OK source="media_items" db=3.8ms queue=0.5ms idle=20.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:17:01.137 [info] Sent 200 in 183ms 14:17:01.638 [info] CONNECTED TO Phoenix.LiveView.Socket in 49µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "TwUHUAAoQh8yGApBGipwOh4GN1UZNhYTwtc7CQrzetKyjbEQL_R0AQzQ", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:17:01.651 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "downloaded"} 14:17:01.654 [debug] QUERY OK source="media_items" db=2.6ms idle=530.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:17:01.657 [debug] QUERY OK source="media_items" db=2.8ms idle=527.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:17:01.657 [debug] Replied in 6ms 14:17:01.659 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "pending"} 14:17:01.662 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=528.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:17:01.665 [debug] QUERY OK source="media_items" db=3.0ms idle=526.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:17:01.666 [debug] Replied in 6ms 14:17:01.667 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:17:01.671 [debug] QUERY OK source="tasks" db=3.7ms 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:17:01.674 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=15.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:01.675 [debug] Replied in 7ms 14:17:01.676 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:17:01.677 [debug] Replied in 124µs 14:17:01.763 [debug] Current batch of media processed. Will check again in 1000ms 14:17:02.060 [info] GET / 14:17:02.060 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{"onboarding" => "0"} Pipelines: [:browser] 14:17:02.067 [debug] QUERY OK source="settings" db=6.0ms queue=0.4ms idle=403.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:02.070 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=405.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:02.074 [debug] QUERY OK source="media_profiles" db=3.5ms idle=404.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:17:02.077 [debug] QUERY OK source="sources" db=3.2ms idle=402.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:17:02.081 [debug] QUERY OK source="media_items" db=3.0ms idle=403.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:17:02.083 [debug] QUERY OK source="media_items" db=2.6ms idle=13.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:17:02.087 [debug] QUERY OK source="settings" db=2.4ms 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 [] 14:17:02.090 [debug] QUERY OK source="settings" db=2.9ms 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:17:02.094 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=13.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:02.098 [debug] QUERY OK source="tasks" db=3.2ms idle=14.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:17:02.101 [debug] QUERY OK source="sources" db=2.9ms 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] 14:17:02.106 [debug] QUERY OK source="media_items" db=2.9ms idle=15.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:17:02.109 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=15.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:17:02.113 [debug] QUERY OK source="media_items" db=2.8ms 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"))) [] 14:17:02.117 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=15.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:17:02.118 [info] Sent 200 in 58ms 14:17:02.763 [debug] Current batch of media processed. Will check again in 1000ms 14:17:03.195 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLF60520313D07F366 --simulate --skip-download --ignore-no-formats-error --playlist-end 1 --output /downloads/shows/Shadow Of Israphel/Season 1/s01e00 - %(title)S.%(ext)S --print-to-file %(.{channel,channel_id,playlist_id,playlist_title,filename})j /tmp/pinchflat/data/04/cc/04cc1101a6ad7ebdbb7a06d99624c76586ebfb90fca0b3bac0a7c51a0ff0d5d3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 4UdEFmxRmNE: nsig extraction failed: Some formats may be missing n = RCEYpbyl4tjhLhwn ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 4UdEFmxRmNE: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 4UdEFmxRmNE: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 14:17:03.195 [debug] Running yt-dlp command for action: get_source_metadata 14:17:03.202 [debug] QUERY OK source="settings" db=3.9ms 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 [] 14:17:03.205 [debug] QUERY OK source="settings" db=2.7ms idle=542.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:03.208 [debug] QUERY OK source="settings" db=2.7ms 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 [] 14:17:03.208 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLF60520313D07F366 --skip-download --convert-thumbnails jpg --output /tmp/pinchflat/data/d11ead9272e591b8/source_image.%(ext)S --write-thumbnail --playlist-items 1 --print-to-file playlist:%()j /tmp/pinchflat/data/29/4f/294f41b0eb4cd4a0267728d023149c5c3ac5cbf0d3f82995bcb53a6b8944c08d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:17:03.766 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Plunged into a mysterious land, our heroes must find or build shelter to survive the first night in a strange wilderness!\r\n\n▬▬▬▬▬\n\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nFacebook: https://www.facebook.com/yogscast/\nWatch us live on Twitch.tv every day! http://www.twitch.tv/yogscast/\n\n▬▬▬▬▬\n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT", "duration" => 604, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 1: How to Survive the First Night.mp4", "id" => "4UdEFmxRmNE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4UdEFmxRmNE", "playlist_index" => 1, "timestamp" => 1291345559, "title" => "Minecraft - Part 1: How to Survive the First Night", "upload_date" => "20101203"} 14:17:03.782 [debug] QUERY OK source="sources" db=14.4ms queue=0.2ms idle=567.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:17:03.804 [debug] QUERY OK source="sources" db=20.7ms queue=0.9ms idle=580.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:17:03.820 [debug] QUERY OK source="media_items" db=10.2ms queue=3.7ms idle=601.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-03 03:05:59Z], 1] 14:17:03.967 [debug] QUERY OK source="media_items" db=137.1ms queue=8.6ms idle=612.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Plunged into a mysterious land, our heroes must find or build shelter to survive the first night in a strange wilderness!\r\n\n▬▬▬▬▬\n\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nFacebook: https://www.facebook.com/yogscast/\nWatch us live on Twitch.tv every day! http://www.twitch.tv/yogscast/\n\n▬▬▬▬▬\n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT", "Minecraft - Part 1: How to Survive the First Night", "97934c00-472e-4cc0-a819-4f9e6b96f93b", 1, [], 604, false, "4UdEFmxRmNE", "https://www.youtube.com/watch?v=4UdEFmxRmNE", 1, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 1: How to Survive the First Night.mp4", false, false, false, 0, ~U[2010-12-03 03:05:59Z], ~U[2025-10-27 18:17:03Z], ~U[2025-10-27 18:17:03Z], "Plunged into a mysterious land, our heroes must find or build shelter to survive the first night in a strange wilderness!\r\n\n▬▬▬▬▬\n\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nFacebook: https://www.facebook.com/yogscast/\nWatch us live on Twitch.tv every day! http://www.twitch.tv/yogscast/\n\n▬▬▬▬▬\n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT", "Minecraft - Part 1: How to Survive the First Night", 1, 604, false, "4UdEFmxRmNE", "https://www.youtube.com/watch?v=4UdEFmxRmNE", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 1: How to Survive the First Night.mp4", false, ~U[2010-12-03 03:05:59Z]] 14:17:03.971 [debug] QUERY OK source="sources" db=3.5ms idle=303.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:17:03.972 [debug] Current batch of media processed. Will check again in 1000ms 14:17:04.146 [info] GET /sources 14:17:04.146 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 14:17:04.151 [debug] QUERY OK source="settings" db=3.9ms idle=365.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:04.156 [debug] QUERY OK source="settings" db=3.9ms queue=0.3ms idle=347.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:04.160 [debug] QUERY OK source="settings" db=3.4ms queue=0.1ms idle=336.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:04.165 [debug] QUERY OK source="settings" db=3.5ms idle=194.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:04.169 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=194.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:04.176 [debug] QUERY OK source="sources" db=5.7ms queue=0.7ms idle=18.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)) [] 14:17:04.186 [debug] QUERY OK source="sources" db=7.8ms queue=0.8ms 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", 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:17:04.189 [info] Sent 200 in 42ms 14:17:04.354 [info] CONNECTED TO Phoenix.LiveView.Socket in 76µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "bxIvITYpd1UCJ3BIPCNbJydtNwovEy8vWcKFuPG0UK1pLknLu4RowtCm", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:17:04.384 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 14:17:04.394 [debug] QUERY OK source="sources" db=9.3ms idle=224.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)) [] 14:17:04.411 [debug] QUERY OK source="sources" db=16.3ms queue=0.1ms idle=229.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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:17:04.411 [debug] Replied in 27ms 14:17:04.413 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:17:04.414 [debug] Replied in 165µs 14:17:04.825 [info] GET /sources 14:17:04.825 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 14:17:04.830 [debug] QUERY OK source="settings" db=4.5ms 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:17:04.834 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=644.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:04.840 [debug] QUERY OK source="settings" db=4.9ms idle=441.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:04.844 [debug] QUERY OK source="settings" db=2.5ms queue=0.3ms idle=430.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:04.847 [debug] QUERY OK source="settings" db=2.7ms idle=174.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:04.850 [debug] QUERY OK source="sources" db=2.8ms 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)) [] 14:17:04.856 [debug] QUERY OK source="sources" db=5.3ms idle=16.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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:17:04.860 [info] Sent 200 in 35ms 14:17:04.972 [debug] Current batch of media processed. Will check again in 1000ms 14:17:05.973 [debug] Current batch of media processed. Will check again in 1000ms 14:17:06.974 [debug] Current batch of media processed. Will check again in 1000ms 14:17:07.976 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon and Lewis spend the night in the hastily-built shack and take an ill-advised foray out into the darkness to defend their land!\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 547, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 2: Spending the Night in Simon's Shack.mp4", "id" => "P8IayadsacU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=P8IayadsacU", "playlist_index" => 2, "timestamp" => 1291424986, "title" => "Minecraft - Part 2: Spending the Night in Simon's Shack", "upload_date" => "20101204"} 14:17:07.980 [debug] QUERY OK source="sources" db=3.4ms queue=0.1ms idle=1775.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:17:07.984 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=1780.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:17:07.987 [debug] QUERY OK source="media_items" db=2.4ms idle=1783.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-04 01:09:46Z], 1] 14:17:08.060 [debug] QUERY OK source="media_items" db=72.9ms idle=1308.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis spend the night in the hastily-built shack and take an ill-advised foray out into the darkness to defend their land!\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 2: Spending the Night in Simon's Shack", "8720c368-927f-4176-a524-221bfc55425c", 1, [], 547, false, "P8IayadsacU", "https://www.youtube.com/watch?v=P8IayadsacU", 2, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 2: Spending the Night in Simon's Shack.mp4", false, false, false, 0, ~U[2010-12-04 01:09:46Z], ~U[2025-10-27 18:17:07Z], ~U[2025-10-27 18:17:07Z], "Simon and Lewis spend the night in the hastily-built shack and take an ill-advised foray out into the darkness to defend their land!\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 2: Spending the Night in Simon's Shack", 1, 547, false, "P8IayadsacU", "https://www.youtube.com/watch?v=P8IayadsacU", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 2: Spending the Night in Simon's Shack.mp4", false, ~U[2010-12-04 01:09:46Z]] 14:17:08.063 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=377.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:17:08.064 [debug] Current batch of media processed. Will check again in 1000ms 14:17:09.065 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon and Lewis establish a permanent \"base of operations\" from which to explore the new world around them.\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 677, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 3: Moving into the Yogcave.mp4", "id" => "mhSXfGUB_CI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mhSXfGUB_CI", "playlist_index" => 3, "timestamp" => 1291517579, "title" => "Minecraft - Part 3: Moving into the Yogcave", "upload_date" => "20101205"} 14:17:09.068 [debug] QUERY OK source="sources" db=3.2ms queue=0.1ms idle=1081.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:17:09.071 [debug] QUERY OK source="sources" db=2.8ms idle=1082.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:17:09.074 [debug] QUERY OK source="media_items" db=2.1ms idle=1011.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-05 02:52:59Z], 1] 14:17:09.194 [debug] QUERY OK source="media_items" db=119.6ms idle=1011.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis establish a permanent \"base of operations\" from which to explore the new world around them.\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 3: Moving into the Yogcave", "1c111589-7061-40b1-92b8-16f57da7904a", 1, [], 677, false, "mhSXfGUB_CI", "https://www.youtube.com/watch?v=mhSXfGUB_CI", 3, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 3: Moving into the Yogcave.mp4", false, false, false, 0, ~U[2010-12-05 02:52:59Z], ~U[2025-10-27 18:17:09Z], ~U[2025-10-27 18:17:09Z], "Simon and Lewis establish a permanent \"base of operations\" from which to explore the new world around them.\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 3: Moving into the Yogcave", 1, 677, false, "mhSXfGUB_CI", "https://www.youtube.com/watch?v=mhSXfGUB_CI", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 3: Moving into the Yogcave.mp4", false, ~U[2010-12-05 02:52:59Z]] 14:17:09.199 [debug] QUERY OK source="sources" db=3.6ms idle=507.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:09.199 [debug] Current batch of media processed. Will check again in 1000ms 14:17:10.199 [debug] Current batch of media processed. Will check again in 1000ms 14:17:11.013 [info] GET /sources/1 14:17:11.014 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:17:11.023 [debug] QUERY OK source="sources" db=3.2ms queue=0.1ms idle=818.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:17:11.027 [debug] QUERY OK source="media_profiles" db=3.1ms idle=823.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:11.031 [debug] QUERY OK source="tasks" db=3.4ms idle=826.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"] 14:17:11.034 [debug] QUERY OK source="oban_jobs" db=2.5ms idle=830.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 (?,?)) [3, 2] 14:17:11.037 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=337.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:11.040 [debug] QUERY OK source="settings" db=2.9ms 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:17:11.049 [debug] QUERY OK source="settings" db=7.3ms queue=0.1ms idle=14.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:11.055 [debug] QUERY OK source="sources" db=3.6ms idle=20.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:11.063 [debug] QUERY OK source="media_items" db=3.8ms queue=3.0ms idle=22.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] 14:17:11.076 [debug] QUERY OK source="media_items" db=11.9ms queue=0.5ms idle=26.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:17:11.082 [debug] QUERY OK source="sources" db=4.4ms queue=0.1ms idle=37.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:11.087 [debug] QUERY OK source="media_items" db=4.3ms queue=0.4ms idle=33.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:17:11.092 [debug] QUERY OK source="media_items" db=4.1ms queue=0.2ms idle=32.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] 14:17:11.095 [debug] QUERY OK source="sources" db=2.3ms queue=0.1ms idle=29.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:11.099 [debug] QUERY OK source="media_items" db=2.1ms queue=0.3ms idle=19.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:17:11.105 [debug] QUERY OK source="media_items" db=5.6ms queue=0.4ms idle=16.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] 14:17:11.107 [info] Sent 200 in 93ms 14:17:11.201 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "After settling into their new digs, Simon and Lewis need to recover their strength and spruce the place up a bit, so they endeavour to do so by searching for pigs and sand!\r\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/\n\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 669, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 4: The first quest! Pork and Glass.mp4", "id" => "sFOlXExhvhk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sFOlXExhvhk", "playlist_index" => 4, "timestamp" => 1291599709, "title" => "Minecraft - Part 4: The first quest! Pork and Glass", "upload_date" => "20101206"} 14:17:11.206 [debug] QUERY OK source="sources" db=4.0ms idle=114.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:11.210 [debug] QUERY OK source="sources" db=3.1ms queue=0.3ms idle=114.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:17:11.213 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=114.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-06 01:41:49Z], 1] 14:17:11.230 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLF60520313D07F366 --skip-download --convert-thumbnails jpg --output /tmp/pinchflat/data/d11ead9272e591b8/source_image.%(ext)S --write-thumbnail --playlist-items 1 --print-to-file playlist:%()j /tmp/pinchflat/data/29/4f/294f41b0eb4cd4a0267728d023149c5c3ac5cbf0d3f82995bcb53a6b8944c08d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] 4UdEFmxRmNE: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 4UdEFmxRmNE: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 4UdEFmxRmNE: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 14:17:11.259 [info] CONNECTED TO Phoenix.LiveView.Socket in 36µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fj8HK3cUc1QSPzBLP3xZLxsuSCg6JCsyFNcL4mC1ESqsO4lDIw-MbCGp", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:17:11.269 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "pending", "source_id" => 1} 14:17:11.303 [debug] QUERY OK source="media_items" db=89.0ms idle=114.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["After settling into their new digs, Simon and Lewis need to recover their strength and spruce the place up a bit, so they endeavour to do so by searching for pigs and sand!\r\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/\n\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 4: The first quest! Pork and Glass", "1efdd6ba-45e2-4ce6-962b-b9eb3091781b", 1, [], 669, false, "sFOlXExhvhk", "https://www.youtube.com/watch?v=sFOlXExhvhk", 4, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 4: The first quest! Pork and Glass.mp4", false, false, false, 0, ~U[2010-12-06 01:41:49Z], ~U[2025-10-27 18:17:11Z], ~U[2025-10-27 18:17:11Z], "After settling into their new digs, Simon and Lewis need to recover their strength and spruce the place up a bit, so they endeavour to do so by searching for pigs and sand!\r\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/\n\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 4: The first quest! Pork and Glass", 1, 669, false, "sFOlXExhvhk", "https://www.youtube.com/watch?v=sFOlXExhvhk", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 4: The first quest! Pork and Glass.mp4", false, ~U[2010-12-06 01:41:49Z]] 14:17:11.306 [debug] QUERY OK source="sources" db=2.9ms queue=0.2ms idle=97.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:17:11.307 [debug] Current batch of media processed. Will check again in 1000ms 14:17:11.307 [debug] QUERY OK source="sources" db=37.1ms idle=164.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:11.310 [debug] QUERY OK source="media_items" db=3.2ms idle=97.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:17:11.315 [debug] QUERY OK source="media_items" db=3.6ms idle=97.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] 14:17:11.315 [debug] Replied in 45ms 14:17:11.317 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "downloaded", "source_id" => 1} 14:17:11.319 [debug] QUERY OK source="sources" db=2.4ms 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] 14:17:11.323 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=13.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:17:11.333 [debug] QUERY OK source="media_items" db=9.8ms queue=0.1ms idle=16.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] 14:17:11.333 [debug] Replied in 16ms 14:17:11.335 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "other", "source_id" => 1} 14:17:11.338 [debug] QUERY OK source="sources" db=3.1ms idle=24.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:17:11.341 [debug] QUERY OK source="media_items" db=2.5ms idle=24.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:17:11.344 [debug] QUERY OK source="media_items" db=2.7ms idle=22.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:17:11.345 [debug] Replied in 9ms 14:17:11.346 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:17:11.346 [debug] Replied in 116µs 14:17:11.538 [debug] QUERY OK db=0.1ms idle=214.8ms begin [] 14:17:11.552 [debug] QUERY OK source="sources" db=14.2ms UPDATE "sources" SET "description" = ?, "nfo_filepath" = ?, "series_directory" = ?, "poster_filepath" = ?, "updated_at" = ? WHERE "id" = ? ["Lewis and Simon show you the ropes to this fantastic game!", "/downloads/shows/Shadow Of Israphel/tvshow.nfo", "/downloads/shows/Shadow Of Israphel", "/downloads/shows/Shadow Of Israphel/poster.jpg", ~U[2025-10-27 18:17:11Z], 1] 14:17:11.554 [debug] QUERY OK source="source_metadata" db=1.8ms INSERT INTO "source_metadata" ("source_id","metadata_filepath","poster_filepath","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" [1, "/config/metadata/sources/1/metadata.json.gz", "/config/metadata/sources/1/poster.jpg", ~U[2025-10-27 18:17:11Z], ~U[2025-10-27 18:17:11Z]] 14:17:11.612 [debug] QUERY OK db=57.3ms commit [] 14:17:11.654 [info] {"args":{"id":1},"id":3,"meta":{},"state":"success","max_attempts":3,"queue":"remote_metadata","worker":"Pinchflat.Metadata.SourceMetadataStorageWorker","source":"oban","duration":13658976,"event":"job:stop","queue_time":859665,"attempt":1,"tags":["media_source","source_metadata","remote_metadata","show_in_dashboard"]} 14:17:11.746 [info] GET /sources/1 14:17:11.746 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:17:11.750 [debug] QUERY OK source="sources" db=3.0ms idle=402.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:17:11.753 [debug] QUERY OK source="media_profiles" db=2.8ms idle=138.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:11.757 [debug] QUERY OK source="tasks" db=3.3ms queue=0.1ms idle=99.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 14:17:11.760 [debug] QUERY OK source="oban_jobs" db=2.7ms queue=0.3ms idle=92.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2] 14:17:11.764 [debug] QUERY OK source="settings" db=2.7ms idle=58.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:11.767 [debug] QUERY OK source="settings" db=2.9ms 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:17:11.770 [debug] QUERY OK source="settings" db=2.5ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:11.775 [debug] QUERY OK source="sources" db=2.7ms idle=15.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:11.780 [debug] QUERY OK source="media_items" db=3.3ms idle=15.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] 14:17:11.785 [debug] QUERY OK source="media_items" db=4.5ms idle=16.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] 14:17:11.788 [debug] QUERY OK source="sources" db=2.2ms idle=19.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:17:11.792 [debug] QUERY OK source="media_items" db=2.6ms idle=18.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:17:11.795 [debug] QUERY OK source="media_items" db=2.9ms idle=16.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] 14:17:11.798 [debug] QUERY OK source="sources" db=1.9ms idle=16.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:11.801 [debug] QUERY OK source="media_items" db=2.6ms idle=13.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:17:11.805 [debug] QUERY OK source="media_items" db=3.1ms idle=13.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:17:11.806 [info] Sent 200 in 59ms 14:17:12.308 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon and Lewis explore the wonders of Minecraft.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 666, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 5: The Legend of Pig Island.mp4", "id" => "0qRFPxAW6Is", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0qRFPxAW6Is", "playlist_index" => 5, "timestamp" => 1291668696, "title" => "Minecraft - Part 5: The Legend of Pig Island", "upload_date" => "20101206"} 14:17:12.311 [debug] QUERY OK source="sources" db=3.2ms idle=516.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:17:12.314 [debug] QUERY OK source="sources" db=2.4ms idle=516.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:17:12.317 [debug] QUERY OK source="media_items" db=2.3ms idle=516.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-06 20:51:36Z], 1] 14:17:12.404 [debug] QUERY OK source="media_items" db=86.2ms idle=516.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis explore the wonders of Minecraft.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 5: The Legend of Pig Island", "f5f73ef4-4349-407b-8864-dd5ee706ce53", 1, [], 666, false, "0qRFPxAW6Is", "https://www.youtube.com/watch?v=0qRFPxAW6Is", 5, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 5: The Legend of Pig Island.mp4", false, false, false, 1, ~U[2010-12-06 20:51:36Z], ~U[2025-10-27 18:17:12Z], ~U[2025-10-27 18:17:12Z], "Simon and Lewis explore the wonders of Minecraft.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 5: The Legend of Pig Island", 1, 666, false, "0qRFPxAW6Is", "https://www.youtube.com/watch?v=0qRFPxAW6Is", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 5: The Legend of Pig Island.mp4", false, ~U[2010-12-06 20:51:36Z]] 14:17:12.407 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=599.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:12.407 [debug] Current batch of media processed. Will check again in 1000ms 14:17:13.408 [debug] Current batch of media processed. Will check again in 1000ms 14:17:14.410 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon and Lewis explore the wonders of Minecraft.\r\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/", "duration" => 593, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 6: The Mysterious Tree.mp4", "id" => "AvrNUFoBl9U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=AvrNUFoBl9U", "playlist_index" => 6, "timestamp" => 1291771015, "title" => "Minecraft - Part 6: The Mysterious Tree", "upload_date" => "20101208"} 14:17:14.413 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms idle=698.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:17:14.416 [debug] QUERY OK source="sources" db=2.2ms queue=0.1ms idle=213.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:14.419 [debug] QUERY OK source="media_items" db=2.9ms idle=215.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-08 01:16:55Z], 1] 14:17:14.513 [debug] QUERY OK source="media_items" db=92.3ms idle=219.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis explore the wonders of Minecraft.\r\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/", "Minecraft - Part 6: The Mysterious Tree", "438688bf-3aa4-4b68-9f7e-2bc93f8e2d53", 1, [], 593, false, "AvrNUFoBl9U", "https://www.youtube.com/watch?v=AvrNUFoBl9U", 6, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 6: The Mysterious Tree.mp4", false, false, false, 0, ~U[2010-12-08 01:16:55Z], ~U[2025-10-27 18:17:14Z], ~U[2025-10-27 18:17:14Z], "Simon and Lewis explore the wonders of Minecraft.\r\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/", "Minecraft - Part 6: The Mysterious Tree", 1, 593, false, "AvrNUFoBl9U", "https://www.youtube.com/watch?v=AvrNUFoBl9U", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 6: The Mysterious Tree.mp4", false, ~U[2010-12-08 01:16:55Z]] 14:17:14.516 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=312.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:14.516 [debug] Current batch of media processed. Will check again in 1000ms 14:17:15.517 [debug] Current batch of media processed. Will check again in 1000ms 14:17:16.283 [info] {"source":"oban","duration":4216,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:16.519 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon and Lewis attempt to solve Indiana Jones style puzzles to attain glorious treasure!\r\n\r💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/", "duration" => 588, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 7: The Trial of the Pyramid.mp4", "id" => "y7kezSA_u5A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=y7kezSA_u5A", "playlist_index" => 7, "timestamp" => 1291849650, "title" => "Minecraft - Part 7: The Trial of the Pyramid", "upload_date" => "20101208"} 14:17:16.522 [debug] QUERY OK source="sources" db=3.0ms idle=316.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:17:16.527 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=320.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:17:16.532 [debug] QUERY OK source="media_items" db=5.2ms idle=324.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-08 23:07:30Z], 1] 14:17:16.611 [debug] QUERY OK source="media_items" db=78.3ms idle=329.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis attempt to solve Indiana Jones style puzzles to attain glorious treasure!\r\n\r💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/", "Minecraft - Part 7: The Trial of the Pyramid", "7c155cab-f9af-4836-8da1-8ae6023eb6e5", 1, [], 588, false, "y7kezSA_u5A", "https://www.youtube.com/watch?v=y7kezSA_u5A", 7, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 7: The Trial of the Pyramid.mp4", false, false, false, 1, ~U[2010-12-08 23:07:30Z], ~U[2025-10-27 18:17:16Z], ~U[2025-10-27 18:17:16Z], "Simon and Lewis attempt to solve Indiana Jones style puzzles to attain glorious treasure!\r\n\r💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/", "Minecraft - Part 7: The Trial of the Pyramid", 1, 588, false, "y7kezSA_u5A", "https://www.youtube.com/watch?v=y7kezSA_u5A", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 7: The Trial of the Pyramid.mp4", false, ~U[2010-12-08 23:07:30Z]] 14:17:16.615 [debug] QUERY OK source="sources" db=2.8ms queue=0.2ms idle=328.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:16.615 [debug] Current batch of media processed. Will check again in 1000ms 14:17:17.616 [debug] Current batch of media processed. Will check again in 1000ms 14:17:18.618 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Having temporarily suspended their efforts to crack open the Pyramid of Trials, Simon and Lewis go spelunking for some materials.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 617, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 8: The Quest for the Bucket.mp4", "id" => "eZ-oYPUTlqY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=eZ-oYPUTlqY", "playlist_index" => 8, "timestamp" => 1291929512, "title" => "Minecraft - Part 8: The Quest for the Bucket", "upload_date" => "20101209"} 14:17:18.621 [debug] QUERY OK source="sources" db=3.1ms idle=876.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:17:18.630 [debug] QUERY OK source="sources" db=8.0ms idle=419.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:18.635 [debug] QUERY OK source="media_items" db=4.5ms queue=0.1ms idle=427.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-09 21:18:32Z], 1] 14:17:18.759 [debug] QUERY OK source="media_items" db=123.3ms idle=432.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Having temporarily suspended their efforts to crack open the Pyramid of Trials, Simon and Lewis go spelunking for some materials.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 8: The Quest for the Bucket", "60efa646-70a4-4294-ab0e-c04e08a5c853", 1, [], 617, false, "eZ-oYPUTlqY", "https://www.youtube.com/watch?v=eZ-oYPUTlqY", 8, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 8: The Quest for the Bucket.mp4", false, false, false, 0, ~U[2010-12-09 21:18:32Z], ~U[2025-10-27 18:17:18Z], ~U[2025-10-27 18:17:18Z], "Having temporarily suspended their efforts to crack open the Pyramid of Trials, Simon and Lewis go spelunking for some materials.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 8: The Quest for the Bucket", 1, 617, false, "eZ-oYPUTlqY", "https://www.youtube.com/watch?v=eZ-oYPUTlqY", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 8: The Quest for the Bucket.mp4", false, ~U[2010-12-09 21:18:32Z]] 14:17:18.763 [debug] QUERY OK source="sources" db=3.5ms queue=0.1ms idle=138.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:18.763 [debug] Current batch of media processed. Will check again in 1000ms 14:17:19.041 [info] POST /sources/1/force_index 14:17:19.041 [debug] Processing with PinchflatWeb.Sources.SourceController.force_index/2 Parameters: %{"_csrf_token" => "fj8HK3cUc1QSPzBLP3xZLxsuSCg6JCsyFNcL4mC1ESqsO4lDIw-MbCGp", "_method" => "post", "source_id" => "1"} Pipelines: [:browser] 14:17:19.048 [debug] QUERY OK source="sources" db=3.3ms idle=414.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:17:19.052 [debug] QUERY OK source="tasks" db=3.7ms idle=413.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."worker" LIKE ?) AND (o1."state" IN (?,?,?,?)) [1, "%.MediaCollectionIndexingWorker", "available", "scheduled", "retryable", "executing"] 14:17:19.179 [debug] QUERY OK source="tasks" db=67.1ms idle=348.2ms DELETE FROM "tasks" WHERE "id" = ? [1] 14:17:19.238 [info] {"args":{"id":1},"id":2,"meta":{},"state":"cancelled","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":20376595,"event":"job:stop","queue_time":890538,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:17:19.331 [debug] QUERY OK source="tasks" db=41.8ms idle=41.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [4, 1, ~U[2025-10-27 18:17:19Z], ~U[2025-10-27 18:17:19Z]] 14:17:19.332 [info] Sent 302 in 290ms 14:17:19.343 [info] GET /sources/1 14:17:19.343 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:17:19.347 [debug] QUERY OK source="sources" db=3.1ms idle=90.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:19.350 [debug] QUERY OK source="media_profiles" db=2.8ms idle=57.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:19.353 [debug] QUERY OK source="tasks" db=2.7ms idle=18.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"] 14:17:19.356 [debug] QUERY OK source="oban_jobs" db=2.5ms idle=6.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" = ?) [4] 14:17:19.360 [debug] QUERY OK source="settings" db=3.3ms queue=0.4ms 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:17:19.364 [debug] QUERY OK source="settings" db=2.8ms 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:17:19.367 [debug] QUERY OK source="settings" db=2.4ms 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:17:19.372 [debug] QUERY OK source="sources" db=2.7ms idle=8.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:19.377 [debug] QUERY OK source="media_items" db=4.4ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:17:19.535 [debug] QUERY OK source="media_items" db=5.3ms queue=152.7ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:17:19.540 [debug] QUERY OK source="sources" db=2.2ms idle=165.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:19.543 [debug] QUERY OK source="media_items" db=2.9ms idle=163.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:17:19.547 [debug] QUERY OK source="media_items" db=3.4ms idle=13.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 14:17:19.550 [debug] QUERY OK source="sources" db=2.7ms idle=17.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:19.553 [debug] QUERY OK source="media_items" db=2.2ms 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 ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:17:19.558 [debug] QUERY OK source="media_items" db=4.0ms idle=13.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:17:19.559 [info] Sent 200 in 216ms 14:17:19.757 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cSAJFi8uWSMOGgBcRylNOQRoNDMMFClyIQmqlWiFYvAd7axRV1QVTsE0", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:17:19.784 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "pending", "source_id" => 1} 14:17:19.821 [debug] QUERY OK source="sources" db=36.7ms idle=237.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:17:19.824 [debug] QUERY OK source="media_items" db=2.7ms idle=268.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:17:19.827 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=266.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:17:19.827 [debug] Replied in 43ms 14:17:19.872 [info] {"args":{"force":true,"id":1},"id":4,"meta":{},"system_time":1761589039871983122,"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:17:19.874 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "downloaded", "source_id" => 1} 14:17:19.876 [debug] QUERY OK source="sources" db=4.1ms idle=65.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:17:19.877 [debug] QUERY OK source="sources" db=3.1ms idle=53.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:19.883 [debug] QUERY OK source="settings" db=4.8ms queue=0.1ms idle=50.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:19.883 [debug] QUERY OK source="media_items" db=5.9ms idle=53.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:17:19.888 [debug] QUERY OK source="media_profiles" db=4.9ms queue=0.1ms idle=11.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:19.889 [debug] QUERY OK source="media_items" db=5.0ms idle=7.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:17:19.889 [debug] Replied in 15ms 14:17:19.890 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "other", "source_id" => 1} 14:17:19.893 [debug] QUERY OK source="sources" db=2.4ms idle=7.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:19.895 [debug] QUERY OK source="settings" db=5.7ms 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:17:19.898 [debug] QUERY OK source="settings" db=2.4ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:19.899 [debug] QUERY OK source="media_items" db=5.6ms 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 ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:17:19.900 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:17:19.901 [debug] Current batch of media processed. Will check again in 1000ms 14:17:19.905 [debug] QUERY OK source="media_items" db=5.1ms queue=0.1ms idle=11.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:17:19.905 [debug] Replied in 15ms 14:17:19.907 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:17:19.907 [debug] Replied in 144µs 14:17:19.908 [debug] QUERY OK source="settings" db=4.9ms queue=0.2ms 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:17:19.911 [debug] QUERY OK source="settings" db=2.7ms 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:17:19.915 [debug] QUERY OK source="settings" db=3.7ms 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 [] 14:17:19.916 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLF60520313D07F366 --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Shadow Of Israphel/Season 1/s01e00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/23/be/23bea2d8ddc5eee7deaa0d4307c8a79c66a79811a2b927c659339051d93bf0d9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:17:20.901 [debug] Current batch of media processed. Will check again in 1000ms 14:17:21.902 [debug] Current batch of media processed. Will check again in 1000ms 14:17:22.903 [debug] Current batch of media processed. Will check again in 1000ms 14:17:23.904 [debug] Current batch of media processed. Will check again in 1000ms 14:17:24.907 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Plunged into a mysterious land, our heroes must find or build shelter to survive the first night in a strange wilderness!\r\n\n▬▬▬▬▬\n\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nFacebook: https://www.facebook.com/yogscast/\nWatch us live on Twitch.tv every day! http://www.twitch.tv/yogscast/\n\n▬▬▬▬▬\n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT", "duration" => 604, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 1: How to Survive the First Night.mp4", "id" => "4UdEFmxRmNE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4UdEFmxRmNE", "playlist_index" => 1, "timestamp" => 1291345559, "title" => "Minecraft - Part 1: How to Survive the First Night", "upload_date" => "20101203"} 14:17:24.912 [debug] QUERY OK source="sources" db=3.5ms queue=0.1ms idle=1705.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:17:24.920 [debug] QUERY OK source="sources" db=3.8ms queue=0.1ms idle=1713.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:17:24.923 [debug] QUERY OK source="media_items" db=3.3ms idle=1717.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-03 03:05:59Z], 1] 14:17:25.012 [debug] QUERY OK source="media_items" db=87.1ms idle=1086.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Plunged into a mysterious land, our heroes must find or build shelter to survive the first night in a strange wilderness!\r\n\n▬▬▬▬▬\n\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nFacebook: https://www.facebook.com/yogscast/\nWatch us live on Twitch.tv every day! http://www.twitch.tv/yogscast/\n\n▬▬▬▬▬\n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT", "Minecraft - Part 1: How to Survive the First Night", "b4ce8709-803a-410c-91f3-63401d1a2240", 1, [], 604, false, "4UdEFmxRmNE", "https://www.youtube.com/watch?v=4UdEFmxRmNE", 1, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 1: How to Survive the First Night.mp4", false, false, false, 1, ~U[2010-12-03 03:05:59Z], ~U[2025-10-27 18:17:24Z], ~U[2025-10-27 18:17:24Z], "Plunged into a mysterious land, our heroes must find or build shelter to survive the first night in a strange wilderness!\r\n\n▬▬▬▬▬\n\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nFacebook: https://www.facebook.com/yogscast/\nWatch us live on Twitch.tv every day! http://www.twitch.tv/yogscast/\n\n▬▬▬▬▬\n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT", "Minecraft - Part 1: How to Survive the First Night", 1, 604, false, "4UdEFmxRmNE", "https://www.youtube.com/watch?v=4UdEFmxRmNE", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 1: How to Survive the First Night.mp4", false, ~U[2010-12-03 03:05:59Z]] 14:17:25.020 [debug] QUERY OK source="sources" db=7.8ms idle=162.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:17:25.021 [debug] Current batch of media processed. Will check again in 1000ms 14:17:26.022 [debug] Current batch of media processed. Will check again in 1000ms 14:17:27.023 [debug] Current batch of media processed. Will check again in 1000ms 14:17:28.024 [debug] Current batch of media processed. Will check again in 1000ms 14:17:29.032 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon and Lewis spend the night in the hastily-built shack and take an ill-advised foray out into the darkness to defend their land!\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 547, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 2: Spending the Night in Simon's Shack.mp4", "id" => "P8IayadsacU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=P8IayadsacU", "playlist_index" => 2, "timestamp" => 1291424986, "title" => "Minecraft - Part 2: Spending the Night in Simon's Shack", "upload_date" => "20101204"} 14:17:29.050 [debug] QUERY OK source="sources" db=15.8ms queue=0.1ms idle=830.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:17:29.071 [debug] QUERY OK source="sources" db=5.0ms queue=0.2ms idle=862.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:17:29.079 [debug] QUERY OK source="media_items" db=6.3ms queue=0.3ms idle=868.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-04 01:09:46Z], 1] 14:17:29.172 [debug] QUERY OK source="media_items" db=91.0ms queue=0.1ms idle=877.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis spend the night in the hastily-built shack and take an ill-advised foray out into the darkness to defend their land!\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 2: Spending the Night in Simon's Shack", "d3664770-9166-4ac4-acb5-34be838ccafa", 1, [], 547, false, "P8IayadsacU", "https://www.youtube.com/watch?v=P8IayadsacU", 2, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 2: Spending the Night in Simon's Shack.mp4", false, false, false, 1, ~U[2010-12-04 01:09:46Z], ~U[2025-10-27 18:17:29Z], ~U[2025-10-27 18:17:29Z], "Simon and Lewis spend the night in the hastily-built shack and take an ill-advised foray out into the darkness to defend their land!\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 2: Spending the Night in Simon's Shack", 1, 547, false, "P8IayadsacU", "https://www.youtube.com/watch?v=P8IayadsacU", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 2: Spending the Night in Simon's Shack.mp4", false, ~U[2010-12-04 01:09:46Z]] 14:17:29.180 [debug] QUERY OK source="sources" db=5.7ms queue=0.2ms idle=282.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:29.180 [debug] Current batch of media processed. Will check again in 1000ms 14:17:30.182 [debug] Current batch of media processed. Will check again in 1000ms 14:17:31.188 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon and Lewis establish a permanent \"base of operations\" from which to explore the new world around them.\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 677, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 3: Moving into the Yogcave.mp4", "id" => "mhSXfGUB_CI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mhSXfGUB_CI", "playlist_index" => 3, "timestamp" => 1291517579, "title" => "Minecraft - Part 3: Moving into the Yogcave", "upload_date" => "20101205"} 14:17:31.212 [debug] QUERY OK source="sources" db=21.2ms queue=0.1ms idle=985.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:31.230 [debug] QUERY OK source="sources" db=5.1ms queue=4.6ms idle=1015.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:17:31.242 [debug] QUERY OK source="media_items" db=11.0ms queue=0.1ms idle=1025.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-05 02:52:59Z], 1] 14:17:31.556 [debug] QUERY OK source="media_items" db=309.8ms queue=0.1ms idle=1039.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis establish a permanent \"base of operations\" from which to explore the new world around them.\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 3: Moving into the Yogcave", "a181c187-92ce-4228-8320-d739839ad0f6", 1, [], 677, false, "mhSXfGUB_CI", "https://www.youtube.com/watch?v=mhSXfGUB_CI", 3, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 3: Moving into the Yogcave.mp4", false, false, false, 1, ~U[2010-12-05 02:52:59Z], ~U[2025-10-27 18:17:31Z], ~U[2025-10-27 18:17:31Z], "Simon and Lewis establish a permanent \"base of operations\" from which to explore the new world around them.\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 3: Moving into the Yogcave", 1, 677, false, "mhSXfGUB_CI", "https://www.youtube.com/watch?v=mhSXfGUB_CI", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 3: Moving into the Yogcave.mp4", false, ~U[2010-12-05 02:52:59Z]] 14:17:31.564 [debug] QUERY OK source="sources" db=6.5ms queue=0.1ms idle=629.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:17:31.564 [debug] Current batch of media processed. Will check again in 1000ms 14:17:32.142 [debug] HANDLE EVENT "reload_page" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"value" => ""} 14:17:32.142 [debug] Replied in 408µs 14:17:32.150 [debug] QUERY OK source="media_items" db=7.2ms idle=912.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:17:32.150 [debug] QUERY OK source="media_items" db=7.7ms idle=587.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] 14:17:32.150 [debug] QUERY OK source="media_items" db=7.9ms idle=900.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:17:32.156 [debug] QUERY OK source="media_items" db=5.1ms queue=0.1ms idle=205.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 14:17:32.156 [debug] QUERY OK source="media_items" db=5.7ms idle=586.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:17:32.157 [debug] QUERY OK source="media_items" db=5.8ms queue=0.1ms idle=1.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:17:32.572 [debug] Current batch of media processed. Will check again in 1000ms 14:17:33.582 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "After settling into their new digs, Simon and Lewis need to recover their strength and spruce the place up a bit, so they endeavour to do so by searching for pigs and sand!\r\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/\n\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 669, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 4: The first quest! Pork and Glass.mp4", "id" => "sFOlXExhvhk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sFOlXExhvhk", "playlist_index" => 4, "timestamp" => 1291599709, "title" => "Minecraft - Part 4: The first quest! Pork and Glass", "upload_date" => "20101206"} 14:17:33.602 [debug] QUERY OK source="sources" db=18.7ms idle=617.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:17:33.632 [debug] QUERY OK source="sources" db=15.8ms queue=1.1ms idle=396.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:33.641 [debug] QUERY OK source="media_items" db=4.0ms queue=2.2ms idle=415.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-06 01:41:49Z], 1] 14:17:33.785 [debug] QUERY OK source="media_items" db=142.1ms queue=0.1ms idle=422.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["After settling into their new digs, Simon and Lewis need to recover their strength and spruce the place up a bit, so they endeavour to do so by searching for pigs and sand!\r\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/\n\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 4: The first quest! Pork and Glass", "1d094f5f-e31f-4b3f-a262-bd59289c87a7", 1, [], 669, false, "sFOlXExhvhk", "https://www.youtube.com/watch?v=sFOlXExhvhk", 4, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 4: The first quest! Pork and Glass.mp4", false, false, false, 2, ~U[2010-12-06 01:41:49Z], ~U[2025-10-27 18:17:33Z], ~U[2025-10-27 18:17:33Z], "After settling into their new digs, Simon and Lewis need to recover their strength and spruce the place up a bit, so they endeavour to do so by searching for pigs and sand!\r\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/\n\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 4: The first quest! Pork and Glass", 1, 669, false, "sFOlXExhvhk", "https://www.youtube.com/watch?v=sFOlXExhvhk", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 4: The first quest! Pork and Glass.mp4", false, ~U[2010-12-06 01:41:49Z]] 14:17:33.799 [debug] QUERY OK source="sources" db=12.4ms queue=0.2ms idle=567.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:33.801 [debug] Current batch of media processed. Will check again in 1000ms 14:17:34.813 [debug] Current batch of media processed. Will check again in 1000ms 14:17:35.829 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon and Lewis explore the wonders of Minecraft.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 666, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 5: The Legend of Pig Island.mp4", "id" => "0qRFPxAW6Is", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0qRFPxAW6Is", "playlist_index" => 5, "timestamp" => 1291668696, "title" => "Minecraft - Part 5: The Legend of Pig Island", "upload_date" => "20101206"} 14:17:35.853 [debug] QUERY OK source="sources" db=23.1ms queue=0.2ms idle=807.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:17:35.942 [debug] QUERY OK source="sources" db=46.6ms queue=7.1ms idle=655.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:17:35.959 [debug] QUERY OK source="media_items" db=12.4ms queue=2.0ms idle=711.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-06 20:51:36Z], 1] 14:17:36.224 [debug] QUERY OK source="media_items" db=242.7ms queue=0.1ms idle=735.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis explore the wonders of Minecraft.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 5: The Legend of Pig Island", "44143ee4-3c35-4cfe-971d-2da95b8252d0", 1, [], 666, false, "0qRFPxAW6Is", "https://www.youtube.com/watch?v=0qRFPxAW6Is", 5, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 5: The Legend of Pig Island.mp4", false, false, false, 2, ~U[2010-12-06 20:51:36Z], ~U[2025-10-27 18:17:35Z], ~U[2025-10-27 18:17:35Z], "Simon and Lewis explore the wonders of Minecraft.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 5: The Legend of Pig Island", 1, 666, false, "0qRFPxAW6Is", "https://www.youtube.com/watch?v=0qRFPxAW6Is", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 5: The Legend of Pig Island.mp4", false, ~U[2010-12-06 20:51:36Z]] 14:17:36.386 [debug] QUERY OK source="sources" db=96.4ms idle=389.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:17:36.397 [debug] Current batch of media processed. Will check again in 1000ms 14:17:37.464 [debug] Current batch of media processed. Will check again in 1000ms 14:17:39.507 [debug] Current batch of media processed. Will check again in 1000ms 14:17:40.926 [debug] Current batch of media processed. Will check again in 1000ms 14:17:42.256 [debug] Current batch of media processed. Will check again in 1000ms 14:17:43.130 [debug] HANDLE EVENT "reload_page" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"value" => ""} 14:17:43.130 [debug] Replied in 783µs 14:17:43.205 [debug] QUERY OK source="media_items" db=66.8ms queue=1.4ms idle=1456.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] 14:17:43.209 [debug] QUERY OK source="media_items" db=72.9ms queue=0.2ms idle=1459.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:17:43.236 [debug] QUERY OK source="media_items" db=91.1ms queue=0.5ms idle=1455.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:17:43.503 [debug] Current batch of media processed. Will check again in 1000ms 14:17:43.509 [debug] QUERY OK source="media_items" db=295.4ms 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] 14:17:43.868 [debug] QUERY OK source="media_items" db=654.5ms queue=0.2ms idle=1153.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] 14:17:44.323 [debug] HANDLE EVENT "reload_page" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"value" => ""} 14:17:44.339 [debug] Replied in 18ms 14:17:44.340 [debug] QUERY OK source="media_items" db=834.7ms queue=137.7ms idle=157.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:17:44.717 [debug] Current batch of media processed. Will check again in 1000ms 14:17:44.841 [debug] QUERY OK source="media_items" db=493.4ms queue=0.1ms idle=1112.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:17:45.139 [debug] QUERY OK source="media_items" db=678.5ms queue=83.8ms idle=836.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:17:45.645 [debug] QUERY OK source="media_items" db=765.6ms queue=405.2ms idle=843.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:17:45.826 [debug] QUERY OK source="media_items" db=608.4ms queue=52.0ms idle=771.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] 14:17:45.932 [debug] Current batch of media processed. Will check again in 1000ms 14:17:46.023 [debug] QUERY OK source="media_items" db=767.9ms queue=0.6ms idle=341.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:17:46.045 [debug] QUERY OK source="media_items" db=138.6ms queue=225.9ms idle=568.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:17:48.146 [debug] Current batch of media processed. Will check again in 1000ms 14:17:50.070 [debug] Current batch of media processed. Will check again in 1000ms 14:17:51.651 [info] {"source":"oban","duration":5363630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:52.724 [debug] Current batch of media processed. Will check again in 1000ms 14:17:54.278 [debug] Current batch of media processed. Will check again in 1000ms 14:17:56.029 [debug] Current batch of media processed. Will check again in 1000ms 14:17:58.428 [debug] Current batch of media processed. Will check again in 1000ms 14:18:00.311 [debug] Current batch of media processed. Will check again in 1000ms 14:18:00.975 [info] GET /media_profiles 14:18:01.100 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 14:18:01.520 [info] {"source":"oban","duration":738220,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:18:01.544 [debug] Current batch of media processed. Will check again in 1000ms 14:18:02.241 [debug] QUERY OK source="media_profiles" db=594.9ms queue=93.8ms idle=1116.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:18:02.579 [debug] Current batch of media processed. Will check again in 1000ms 14:18:03.153 [debug] QUERY OK source="settings" db=518.9ms queue=5.5ms idle=1290.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:03.876 [debug] QUERY OK source="settings" db=581.3ms queue=77.9ms idle=1690.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:03.854 [debug] Current batch of media processed. Will check again in 1000ms 14:18:05.784 [debug] Current batch of media processed. Will check again in 1000ms 14:18:07.010 [debug] QUERY OK source="settings" db=2071.7ms queue=567.9ms idle=2011.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:07.072 [debug] Current batch of media processed. Will check again in 1000ms 14:18:09.166 [info] Sent 200 in 8092ms 14:18:09.330 [debug] Current batch of media processed. Will check again in 1000ms 14:18:10.848 [debug] Current batch of media processed. Will check again in 1000ms 14:18:12.734 [debug] Current batch of media processed. Will check again in 1000ms 14:18:14.237 [debug] Current batch of media processed. Will check again in 1000ms 14:18:15.738 [debug] Current batch of media processed. Will check again in 1000ms 14:18:17.990 [debug] Current batch of media processed. Will check again in 1000ms 14:18:19.360 [debug] Current batch of media processed. Will check again in 1000ms 14:18:20.751 [debug] Current batch of media processed. Will check again in 1000ms 14:18:22.817 [debug] Current batch of media processed. Will check again in 1000ms 14:18:25.318 [debug] Current batch of media processed. Will check again in 1000ms 14:18:26.608 [debug] Current batch of media processed. Will check again in 1000ms 14:18:27.891 [info] {"source":"oban","duration":5442839,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:28.144 [debug] Current batch of media processed. Will check again in 1000ms 14:18:31.062 [debug] Current batch of media processed. Will check again in 1000ms 14:18:33.388 [debug] Current batch of media processed. Will check again in 1000ms 14:18:35.682 [debug] Current batch of media processed. Will check again in 1000ms 14:18:37.063 [debug] Current batch of media processed. Will check again in 1000ms 14:18:39.374 [debug] Current batch of media processed. Will check again in 1000ms 14:18:43.705 [debug] Current batch of media processed. Will check again in 1000ms 14:18:43.840 [info] CONNECTED TO Phoenix.LiveView.Socket in 260ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "VyIeNXEXdA8ePzNPHQl_JTAOCVAfNCIVoSzR2nDjISrwmAJNbWl5GSNW", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:18:45.960 [debug] Current batch of media processed. Will check again in 1000ms 14:18:47.782 [debug] Current batch of media processed. Will check again in 1000ms 14:18:51.307 [info] GET /media_profiles/new 14:18:52.124 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 14:18:51.801 [debug] Current batch of media processed. Will check again in 1000ms 14:18:56.432 [debug] Current batch of media processed. Will check again in 1000ms 14:18:59.440 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:18:59.447 [debug] Replied in 6ms 14:18:59.904 [debug] Current batch of media processed. Will check again in 1000ms 14:19:00.682 [debug] QUERY OK source="settings" db=2296.4ms queue=1934.3ms idle=3475.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:02.238 [debug] Current batch of media processed. Will check again in 1000ms 14:19:02.478 [info] {"source":"oban","duration":1807094,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:19:03.946 [debug] Current batch of media processed. Will check again in 1000ms 14:19:06.005 [info] {"source":"oban","duration":7642074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:07.222 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:19:06.162 [debug] QUERY OK source="settings" db=3529.9ms queue=236.0ms idle=1211.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.399 [debug] Replied in 1176ms 14:19:08.398 [debug] Current batch of media processed. Will check again in 1000ms 14:19:10.352 [debug] Current batch of media processed. Will check again in 1000ms 14:19:10.939 [debug] QUERY OK source="settings" db=2481.3ms queue=1.5ms idle=3357.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.113 [info] GET / 14:19:12.177 [debug] Current batch of media processed. Will check again in 1000ms 14:19:12.255 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:19:12.955 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:19:13.574 [debug] Replied in 705ms 14:19:14.193 [debug] Current batch of media processed. Will check again in 1000ms 14:19:14.854 [debug] QUERY OK source="settings" db=1657.8ms queue=50.8ms idle=1419.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.559 [debug] QUERY OK source="settings" db=3260.2ms queue=79.6ms idle=1285.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.750 [debug] Current batch of media processed. Will check again in 1000ms 14:19:16.881 [debug] Current batch of media processed. Will check again in 1000ms 14:19:18.369 [debug] QUERY OK source="media_profiles" db=2423.4ms queue=49.3ms idle=1197.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:19:18.362 [debug] QUERY OK source="settings" db=2351.1ms queue=20.3ms idle=1058.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.154 [debug] Current batch of media processed. Will check again in 1000ms 14:19:22.387 [debug] Current batch of media processed. Will check again in 1000ms 14:19:22.854 [debug] QUERY OK source="sources" db=1944.5ms queue=925.1ms idle=2391.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:19:24.632 [debug] Current batch of media processed. Will check again in 1000ms 14:19:24.634 [info] Sent 200 in 33326ms 14:19:26.052 [debug] Current batch of media processed. Will check again in 1000ms 14:19:26.688 [debug] QUERY OK source="media_items" db=2191.0ms queue=23.0ms idle=2912.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:19:28.038 [debug] Current batch of media processed. Will check again in 1000ms 14:19:30.088 [debug] Current batch of media processed. Will check again in 1000ms 14:19:32.064 [debug] Current batch of media processed. Will check again in 1000ms 14:19:32.063 [debug] QUERY OK source="media_items" db=4647.0ms queue=135.5ms idle=1213.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:19:33.704 [debug] Current batch of media processed. Will check again in 1000ms 14:19:36.221 [debug] Current batch of media processed. Will check again in 1000ms 14:19:37.649 [debug] QUERY OK source="settings" db=3795.2ms queue=141.5ms idle=1104.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:38.121 [debug] Current batch of media processed. Will check again in 1000ms 14:19:40.483 [debug] Current batch of media processed. Will check again in 1000ms 14:19:43.082 [debug] Current batch of media processed. Will check again in 1000ms 14:19:44.723 [debug] QUERY OK source="settings" db=5325.6ms queue=1006.0ms idle=1261.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:45.426 [debug] Current batch of media processed. Will check again in 1000ms 14:19:47.232 [debug] Current batch of media processed. Will check again in 1000ms 14:19:47.900 [debug] QUERY OK source="settings" db=1942.6ms queue=220.5ms idle=1257.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.904 [info] {"source":"oban","duration":9357549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:48.746 [debug] Current batch of media processed. Will check again in 1000ms 14:19:50.953 [debug] Current batch of media processed. Will check again in 1000ms 14:19:51.151 [debug] QUERY OK source="tasks" db=2285.6ms queue=3.6ms idle=987.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:19:52.450 [debug] Current batch of media processed. Will check again in 1000ms 14:19:53.839 [debug] QUERY OK source="sources" db=2399.3ms queue=33.6ms idle=1562.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:53.835 [debug] Current batch of media processed. Will check again in 1000ms 14:19:55.487 [debug] Current batch of media processed. Will check again in 1000ms 14:19:57.833 [debug] QUERY OK source="media_items" db=1944.1ms idle=2199.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:19:57.831 [debug] Current batch of media processed. Will check again in 1000ms 14:19:59.579 [debug] Current batch of media processed. Will check again in 1000ms 14:20:01.634 [debug] QUERY OK source="media_items" db=3026.3ms queue=370.5ms idle=1989.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:20:01.633 [debug] Current batch of media processed. Will check again in 1000ms 14:20:03.122 [info] {"source":"oban","duration":1620895,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:20:03.245 [debug] Current batch of media processed. Will check again in 1000ms 14:20:05.668 [debug] Current batch of media processed. Will check again in 1000ms 14:20:08.171 [debug] Current batch of media processed. Will check again in 1000ms 14:20:08.698 [debug] QUERY OK source="media_items" db=1852.2ms decode=41.4ms queue=207.3ms idle=1256.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:20:11.015 [debug] Current batch of media processed. Will check again in 1000ms 14:20:13.255 [info] Exqlite.Connection (#PID<0.2321.0>) disconnected: ** (DBConnection.ConnectionError) client #PID<0.2743.0> exited 14:20:13.747 [debug] Current batch of media processed. Will check again in 1000ms 14:20:15.318 [debug] Current batch of media processed. Will check again in 1000ms 14:20:17.349 [debug] Current batch of media processed. Will check again in 1000ms 14:20:18.899 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:20:18.903 [info] {"source":"oban","duration":938260,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:18.952 [debug] Current batch of media processed. Will check again in 1000ms 14:20:20.056 [debug] Current batch of media processed. Will check again in 1000ms 14:20:20.747 [info] CONNECTED TO Phoenix.LiveView.Socket in 181µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fkAMIylJVDITLiRqOBxlAiQaKgYeCiU7F1hDj0dWDBeRHTPivCOcFmIy", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:20:21.096 [debug] Current batch of media processed. Will check again in 1000ms 14:20:21.982 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:20:21.994 [debug] Replied in 12ms 14:20:22.126 [debug] Current batch of media processed. Will check again in 1000ms 14:20:22.532 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:20:22.541 [debug] Replied in 50ms 14:20:23.136 [debug] Current batch of media processed. Will check again in 1000ms 14:20:24.142 [debug] Current batch of media processed. Will check again in 1000ms 14:20:25.150 [debug] Current batch of media processed. Will check again in 1000ms 14:20:26.205 [debug] Current batch of media processed. Will check again in 1000ms 14:20:27.339 [debug] Current batch of media processed. Will check again in 1000ms 14:20:28.391 [debug] Current batch of media processed. Will check again in 1000ms 14:20:29.625 [debug] Current batch of media processed. Will check again in 1000ms 14:20:30.793 [debug] Current batch of media processed. Will check again in 1000ms 14:20:31.909 [debug] Current batch of media processed. Will check again in 1000ms 14:20:33.594 [debug] Current batch of media processed. Will check again in 1000ms 14:20:34.512 [info] GET / 14:20:34.841 [debug] Current batch of media processed. Will check again in 1000ms 14:20:34.841 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:20:35.729 [debug] QUERY OK source="settings" db=466.3ms queue=101.3ms idle=1323.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:36.231 [debug] Current batch of media processed. Will check again in 1000ms 14:20:36.608 [debug] QUERY OK source="media_profiles" db=376.7ms queue=48.3ms idle=2355.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:20:36.694 [debug] QUERY OK source="sources" db=40.3ms queue=0.3ms idle=895.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:20:37.642 [debug] Current batch of media processed. Will check again in 1000ms 14:20:38.139 [debug] QUERY OK source="media_items" db=657.2ms queue=113.4ms idle=1187.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:20:39.137 [debug] Current batch of media processed. Will check again in 1000ms 14:20:39.624 [debug] QUERY OK source="media_items" db=1424.6ms queue=25.4ms idle=1766.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:20:40.739 [debug] Current batch of media processed. Will check again in 1000ms 14:20:41.889 [debug] QUERY OK source="settings" db=1089.9ms queue=71.5ms idle=1658.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:42.437 [debug] Current batch of media processed. Will check again in 1000ms 14:20:43.923 [debug] Current batch of media processed. Will check again in 1000ms 14:20:43.949 [debug] QUERY OK source="settings" db=1277.2ms queue=148.3ms idle=2514.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:44.393 [debug] QUERY OK source="settings" db=426.8ms queue=3.1ms idle=521.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:44.566 [debug] QUERY OK source="tasks" db=159.9ms idle=479.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:20:44.687 [debug] QUERY OK source="sources" db=39.9ms queue=0.9ms idle=655.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:20:44.945 [debug] Current batch of media processed. Will check again in 1000ms 14:20:45.560 [debug] QUERY OK source="media_items" db=265.6ms queue=110.1ms idle=1247.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:20:46.012 [debug] Current batch of media processed. Will check again in 1000ms 14:20:46.440 [debug] QUERY OK source="media_items" db=589.9ms queue=92.5ms idle=1312.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] 14:20:47.121 [debug] QUERY OK source="media_items" db=284.0ms idle=1261.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:20:47.905 [debug] Current batch of media processed. Will check again in 1000ms 14:20:48.631 [debug] QUERY OK source="media_items" db=665.1ms queue=54.9ms idle=1901.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:28:45.766 [debug] No activity for 600000ms. Requesting stop. 14:28:45.794 [debug] Gracefully stopping file follower 14:28:45.770 [info] {"message":"notifier can't receive messages from any nodes, functionality degraded","source":"oban","event":"notifier:switch","connectivity_status":"isolated"} 14:28:45.928 [info] {"message":"job staging switched to local mode. local mode polls for jobs for every queue; restore global mode with a functional notifier","mode":"local","source":"oban","event":"stager:switch"} 14:28:45.929 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:28:45.931 [info] {"source":"oban","duration":102951,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:28:46.141 [info] {"source":"oban","duration":370861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:47.141 [info] {"message":"job staging switched back to global mode","mode":"global","source":"oban","event":"stager:switch"} 14:29:00.933 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:29:16.152 [info] {"source":"oban","duration":4849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:36.247 [notice] SIGTERM received - shutting down 14:32:01.006 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:32:01.007 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:32:01.007 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:32:01.007 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:32:01.008 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:32:01.067 [debug] QUERY OK source="oban_jobs" db=56.7ms queue=15.5ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:32:01.067 [info] Reset 1 executing jobs 14:32:01.071 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:32:02.387 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2025.10.22 14:32:02.387 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:32:02.705 [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:02.708 [debug] QUERY OK source="settings" db=2.8ms queue=0.2ms idle=1695.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:02.712 [debug] QUERY OK source="settings" db=2.9ms idle=1698.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:02.713 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:32:02.717 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:32:02.727 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:32:02.729 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:32:02.826 [info] {"args":{},"id":5,"meta":{},"system_time":1761589922826086755,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:32:02.826 [info] Updating yt-dlp 14:32:02.826 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:32:03.826 [info] {"args":{"force":true,"id":1},"id":4,"meta":{},"system_time":1761589923826255040,"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:32:03.830 [debug] QUERY OK source="sources" db=2.7ms queue=0.5ms idle=1050.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:03.833 [debug] QUERY OK source="settings" db=2.8ms idle=1004.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:03.837 [debug] QUERY OK source="media_profiles" db=2.8ms queue=0.4ms idle=839.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:03.840 [debug] QUERY OK source="settings" db=2.6ms idle=61.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:03.843 [debug] QUERY OK source="settings" db=2.5ms 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 [] 14:32:03.844 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:32:03.844 [debug] Current batch of media processed. Will check again in 1000ms 14:32:03.847 [debug] QUERY OK source="settings" db=2.4ms 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 [] 14:32:03.850 [debug] QUERY OK source="settings" db=2.2ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:03.853 [debug] QUERY OK source="settings" db=2.7ms 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:32:03.853 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLF60520313D07F366 --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Shadow Of Israphel/Season 1/s01e00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/19/98/19985383604bf335b01023941df74a871d95e052453becb17aa4e16badb32cbe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:32:04.437 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2025.10.22 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2025.10.22 from yt-dlp/yt-dlp) 14:32:04.437 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:32:04.846 [debug] Current batch of media processed. Will check again in 1000ms 14:32:05.847 [debug] Current batch of media processed. Will check again in 1000ms 14:32:06.083 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2025.10.22 14:32:06.087 [debug] QUERY OK source="settings" db=3.1ms queue=0.1ms idle=1088.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:06.134 [info] {"args":{},"id":5,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":3261271,"event":"job:stop","queue_time":781387,"attempt":1,"tags":["local_data"]} 14:32:06.848 [debug] Current batch of media processed. Will check again in 1000ms 14:32:07.849 [debug] Current batch of media processed. Will check again in 1000ms 14:32:08.850 [debug] Current batch of media processed. Will check again in 1000ms 14:32:09.851 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Plunged into a mysterious land, our heroes must find or build shelter to survive the first night in a strange wilderness!\r\n\n▬▬▬▬▬\n\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nFacebook: https://www.facebook.com/yogscast/\nWatch us live on Twitch.tv every day! http://www.twitch.tv/yogscast/\n\n▬▬▬▬▬\n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT", "duration" => 604, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 1: How to Survive the First Night.mp4", "id" => "4UdEFmxRmNE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4UdEFmxRmNE", "playlist_index" => 1, "timestamp" => 1291345559, "title" => "Minecraft - Part 1: How to Survive the First Night", "upload_date" => "20101203"} 14:32:09.854 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=1857.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:32:09.857 [debug] QUERY OK source="sources" db=2.4ms idle=1860.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:09.863 [debug] QUERY OK source="media_items" db=5.4ms queue=0.2ms idle=1054.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-03 03:05:59Z], 1] 14:32:09.955 [debug] QUERY OK source="media_items" db=90.5ms idle=869.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Plunged into a mysterious land, our heroes must find or build shelter to survive the first night in a strange wilderness!\r\n\n▬▬▬▬▬\n\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nFacebook: https://www.facebook.com/yogscast/\nWatch us live on Twitch.tv every day! http://www.twitch.tv/yogscast/\n\n▬▬▬▬▬\n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT", "Minecraft - Part 1: How to Survive the First Night", "a450ca7d-c6a4-4151-bebe-023e76050816", 1, [], 604, false, "4UdEFmxRmNE", "https://www.youtube.com/watch?v=4UdEFmxRmNE", 1, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 1: How to Survive the First Night.mp4", false, false, false, 1, ~U[2010-12-03 03:05:59Z], ~U[2025-10-27 18:32:09Z], ~U[2025-10-27 18:32:09Z], "Plunged into a mysterious land, our heroes must find or build shelter to survive the first night in a strange wilderness!\r\n\n▬▬▬▬▬\n\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nFacebook: https://www.facebook.com/yogscast/\nWatch us live on Twitch.tv every day! http://www.twitch.tv/yogscast/\n\n▬▬▬▬▬\n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT", "Minecraft - Part 1: How to Survive the First Night", 1, 604, false, "4UdEFmxRmNE", "https://www.youtube.com/watch?v=4UdEFmxRmNE", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 1: How to Survive the First Night.mp4", false, ~U[2010-12-03 03:05:59Z]] 14:32:09.959 [debug] QUERY OK source="sources" db=2.9ms queue=0.3ms idle=147.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:32:09.959 [debug] Current batch of media processed. Will check again in 1000ms 14:32:10.960 [debug] Current batch of media processed. Will check again in 1000ms 14:32:11.961 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon and Lewis spend the night in the hastily-built shack and take an ill-advised foray out into the darkness to defend their land!\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 547, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 2: Spending the Night in Simon's Shack.mp4", "id" => "P8IayadsacU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=P8IayadsacU", "playlist_index" => 2, "timestamp" => 1291424986, "title" => "Minecraft - Part 2: Spending the Night in Simon's Shack", "upload_date" => "20101204"} 14:32:11.965 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=967.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:32:11.968 [debug] QUERY OK source="sources" db=2.8ms idle=970.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:11.971 [debug] QUERY OK source="media_items" db=2.7ms idle=974.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-04 01:09:46Z], 1] 14:32:12.576 [debug] QUERY OK source="media_items" db=604.7ms idle=977.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis spend the night in the hastily-built shack and take an ill-advised foray out into the darkness to defend their land!\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 2: Spending the Night in Simon's Shack", "2a987c9c-9956-4bf2-ba11-1047d5d699d0", 1, [], 547, false, "P8IayadsacU", "https://www.youtube.com/watch?v=P8IayadsacU", 2, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 2: Spending the Night in Simon's Shack.mp4", false, false, false, 1, ~U[2010-12-04 01:09:46Z], ~U[2025-10-27 18:32:11Z], ~U[2025-10-27 18:32:11Z], "Simon and Lewis spend the night in the hastily-built shack and take an ill-advised foray out into the darkness to defend their land!\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 2: Spending the Night in Simon's Shack", 1, 547, false, "P8IayadsacU", "https://www.youtube.com/watch?v=P8IayadsacU", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 2: Spending the Night in Simon's Shack.mp4", false, ~U[2010-12-04 01:09:46Z]] 14:32:12.580 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:32:12.580 [debug] Current batch of media processed. Will check again in 1000ms 14:32:13.581 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon and Lewis establish a permanent \"base of operations\" from which to explore the new world around them.\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 677, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 3: Moving into the Yogcave.mp4", "id" => "mhSXfGUB_CI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mhSXfGUB_CI", "playlist_index" => 3, "timestamp" => 1291517579, "title" => "Minecraft - Part 3: Moving into the Yogcave", "upload_date" => "20101205"} 14:32:13.585 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms idle=1005.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:32:13.588 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=1005.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:13.593 [debug] QUERY OK source="media_items" db=4.6ms queue=0.1ms idle=767.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-05 02:52:59Z], 1] 14:32:13.701 [debug] QUERY OK source="media_items" db=106.5ms queue=0.1ms idle=599.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis establish a permanent \"base of operations\" from which to explore the new world around them.\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 3: Moving into the Yogcave", "438c4ab5-9364-4a8e-8f65-56244df0ffab", 1, [], 677, false, "mhSXfGUB_CI", "https://www.youtube.com/watch?v=mhSXfGUB_CI", 3, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 3: Moving into the Yogcave.mp4", false, false, false, 1, ~U[2010-12-05 02:52:59Z], ~U[2025-10-27 18:32:13Z], ~U[2025-10-27 18:32:13Z], "Simon and Lewis establish a permanent \"base of operations\" from which to explore the new world around them.\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 3: Moving into the Yogcave", 1, 677, false, "mhSXfGUB_CI", "https://www.youtube.com/watch?v=mhSXfGUB_CI", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 3: Moving into the Yogcave.mp4", false, ~U[2010-12-05 02:52:59Z]] 14:32:13.704 [debug] QUERY OK source="sources" db=3.0ms idle=706.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:32:13.705 [debug] Current batch of media processed. Will check again in 1000ms 14:32:14.705 [debug] Current batch of media processed. Will check again in 1000ms 14:32:15.706 [debug] Current batch of media processed. Will check again in 1000ms 14:32:16.707 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "After settling into their new digs, Simon and Lewis need to recover their strength and spruce the place up a bit, so they endeavour to do so by searching for pigs and sand!\r\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/\n\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 669, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 4: The first quest! Pork and Glass.mp4", "id" => "sFOlXExhvhk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sFOlXExhvhk", "playlist_index" => 4, "timestamp" => 1291599709, "title" => "Minecraft - Part 4: The first quest! Pork and Glass", "upload_date" => "20101206"} 14:32:16.711 [debug] QUERY OK source="sources" db=3.1ms idle=1713.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:32:16.714 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=1716.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:16.718 [debug] QUERY OK source="media_items" db=3.8ms idle=1720.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-06 01:41:49Z], 1] 14:32:16.797 [debug] QUERY OK source="media_items" db=77.5ms idle=1724.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["After settling into their new digs, Simon and Lewis need to recover their strength and spruce the place up a bit, so they endeavour to do so by searching for pigs and sand!\r\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/\n\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 4: The first quest! Pork and Glass", "846b32dd-ab98-4314-b0f9-cee0c3aecc52", 1, [], 669, false, "sFOlXExhvhk", "https://www.youtube.com/watch?v=sFOlXExhvhk", 4, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 4: The first quest! Pork and Glass.mp4", false, false, false, 2, ~U[2010-12-06 01:41:49Z], ~U[2025-10-27 18:32:16Z], ~U[2025-10-27 18:32:16Z], "After settling into their new digs, Simon and Lewis need to recover their strength and spruce the place up a bit, so they endeavour to do so by searching for pigs and sand!\r\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/\n\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 4: The first quest! Pork and Glass", 1, 669, false, "sFOlXExhvhk", "https://www.youtube.com/watch?v=sFOlXExhvhk", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 4: The first quest! Pork and Glass.mp4", false, ~U[2010-12-06 01:41:49Z]] 14:32:16.800 [debug] QUERY OK source="sources" db=3.4ms queue=0.1ms idle=955.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:32:16.801 [debug] Current batch of media processed. Will check again in 1000ms 14:32:17.802 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon and Lewis explore the wonders of Minecraft.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 666, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 5: The Legend of Pig Island.mp4", "id" => "0qRFPxAW6Is", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0qRFPxAW6Is", "playlist_index" => 5, "timestamp" => 1291668696, "title" => "Minecraft - Part 5: The Legend of Pig Island", "upload_date" => "20101206"} 14:32:17.806 [debug] QUERY OK source="sources" db=3.1ms queue=0.1ms idle=1088.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:32:17.809 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms idle=1088.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:17.813 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=1013.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-06 20:51:36Z], 1] 14:32:17.911 [debug] QUERY OK source="media_items" db=98.0ms idle=1012.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis explore the wonders of Minecraft.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 5: The Legend of Pig Island", "31ddf0aa-4c9a-4d2a-93b7-c796c0a3a66d", 1, [], 666, false, "0qRFPxAW6Is", "https://www.youtube.com/watch?v=0qRFPxAW6Is", 5, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 5: The Legend of Pig Island.mp4", false, false, false, 2, ~U[2010-12-06 20:51:36Z], ~U[2025-10-27 18:32:17Z], ~U[2025-10-27 18:32:17Z], "Simon and Lewis explore the wonders of Minecraft.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 5: The Legend of Pig Island", 1, 666, false, "0qRFPxAW6Is", "https://www.youtube.com/watch?v=0qRFPxAW6Is", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 5: The Legend of Pig Island.mp4", false, ~U[2010-12-06 20:51:36Z]] 14:32:17.915 [debug] QUERY OK source="sources" db=2.8ms idle=105.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:32:17.915 [debug] Current batch of media processed. Will check again in 1000ms 14:32:18.916 [debug] Current batch of media processed. Will check again in 1000ms 14:32:19.917 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon and Lewis explore the wonders of Minecraft.\r\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/", "duration" => 593, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 6: The Mysterious Tree.mp4", "id" => "AvrNUFoBl9U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=AvrNUFoBl9U", "playlist_index" => 6, "timestamp" => 1291771015, "title" => "Minecraft - Part 6: The Mysterious Tree", "upload_date" => "20101208"} 14:32:19.921 [debug] QUERY OK source="sources" db=3.3ms queue=0.1ms idle=994.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:32:19.925 [debug] QUERY OK source="sources" db=3.5ms queue=0.1ms idle=927.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:19.928 [debug] QUERY OK source="media_items" db=2.1ms idle=931.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-08 01:16:55Z], 1] 14:32:20.006 [debug] QUERY OK source="media_items" db=78.0ms idle=934.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis explore the wonders of Minecraft.\r\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/", "Minecraft - Part 6: The Mysterious Tree", "f0470006-d328-495c-9fe4-09ef5b1bac7d", 1, [], 593, false, "AvrNUFoBl9U", "https://www.youtube.com/watch?v=AvrNUFoBl9U", 6, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 6: The Mysterious Tree.mp4", false, false, false, 2, ~U[2010-12-08 01:16:55Z], ~U[2025-10-27 18:32:19Z], ~U[2025-10-27 18:32:19Z], "Simon and Lewis explore the wonders of Minecraft.\r\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/", "Minecraft - Part 6: The Mysterious Tree", 1, 593, false, "AvrNUFoBl9U", "https://www.youtube.com/watch?v=AvrNUFoBl9U", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 6: The Mysterious Tree.mp4", false, ~U[2010-12-08 01:16:55Z]] 14:32:20.010 [debug] QUERY OK source="sources" db=2.8ms idle=85.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:32:20.010 [debug] Current batch of media processed. Will check again in 1000ms 14:32:21.011 [debug] Current batch of media processed. Will check again in 1000ms 14:32:22.012 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon and Lewis attempt to solve Indiana Jones style puzzles to attain glorious treasure!\r\n\r💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/", "duration" => 588, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 7: The Trial of the Pyramid.mp4", "id" => "y7kezSA_u5A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=y7kezSA_u5A", "playlist_index" => 7, "timestamp" => 1291849650, "title" => "Minecraft - Part 7: The Trial of the Pyramid", "upload_date" => "20101208"} 14:32:22.015 [debug] QUERY OK source="sources" db=2.9ms 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] 14:32:22.019 [debug] QUERY OK source="sources" db=2.6ms idle=1021.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:22.022 [debug] QUERY OK source="media_items" db=3.0ms idle=82.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-08 23:07:30Z], 1] 14:32:22.107 [debug] QUERY OK source="media_items" db=83.9ms queue=0.1ms idle=28.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis attempt to solve Indiana Jones style puzzles to attain glorious treasure!\r\n\r💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/", "Minecraft - Part 7: The Trial of the Pyramid", "88c8ac18-b7ab-4311-8aca-2b0f94d5a4fb", 1, [], 588, false, "y7kezSA_u5A", "https://www.youtube.com/watch?v=y7kezSA_u5A", 7, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 7: The Trial of the Pyramid.mp4", false, false, false, 2, ~U[2010-12-08 23:07:30Z], ~U[2025-10-27 18:32:22Z], ~U[2025-10-27 18:32:22Z], "Simon and Lewis attempt to solve Indiana Jones style puzzles to attain glorious treasure!\r\n\r💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/", "Minecraft - Part 7: The Trial of the Pyramid", 1, 588, false, "y7kezSA_u5A", "https://www.youtube.com/watch?v=y7kezSA_u5A", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 7: The Trial of the Pyramid.mp4", false, ~U[2010-12-08 23:07:30Z]] 14:32:22.110 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=112.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:32:22.110 [debug] Current batch of media processed. Will check again in 1000ms 14:32:23.111 [debug] Current batch of media processed. Will check again in 1000ms 14:32:24.112 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Having temporarily suspended their efforts to crack open the Pyramid of Trials, Simon and Lewis go spelunking for some materials.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 617, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 8: The Quest for the Bucket.mp4", "id" => "eZ-oYPUTlqY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=eZ-oYPUTlqY", "playlist_index" => 8, "timestamp" => 1291929512, "title" => "Minecraft - Part 8: The Quest for the Bucket", "upload_date" => "20101209"} 14:32:24.116 [debug] QUERY OK source="sources" db=3.1ms queue=0.1ms idle=167.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:32:24.119 [debug] QUERY OK source="sources" db=2.8ms idle=122.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:32:24.123 [debug] QUERY OK source="media_items" db=3.3ms idle=125.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-09 21:18:32Z], 1] 14:32:24.215 [debug] QUERY OK source="media_items" db=91.2ms idle=129.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Having temporarily suspended their efforts to crack open the Pyramid of Trials, Simon and Lewis go spelunking for some materials.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 8: The Quest for the Bucket", "aa72e49b-5615-4e02-ba79-bab2efdb560f", 1, [], 617, false, "eZ-oYPUTlqY", "https://www.youtube.com/watch?v=eZ-oYPUTlqY", 8, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 8: The Quest for the Bucket.mp4", false, false, false, 1, ~U[2010-12-09 21:18:32Z], ~U[2025-10-27 18:32:24Z], ~U[2025-10-27 18:32:24Z], "Having temporarily suspended their efforts to crack open the Pyramid of Trials, Simon and Lewis go spelunking for some materials.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 8: The Quest for the Bucket", 1, 617, false, "eZ-oYPUTlqY", "https://www.youtube.com/watch?v=eZ-oYPUTlqY", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 8: The Quest for the Bucket.mp4", false, ~U[2010-12-09 21:18:32Z]] 14:32:24.220 [debug] QUERY OK source="sources" db=4.3ms queue=0.1ms idle=221.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:32:24.220 [debug] Current batch of media processed. Will check again in 1000ms 14:32:25.221 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon and Lewis collect the epic loot they earned!\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 719, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 9: Epic Dungeon Loot.mp4", "id" => "ZbrTC6ITbA4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZbrTC6ITbA4", "playlist_index" => 9, "timestamp" => 1292022282, "title" => "Minecraft - Part 9: Epic Dungeon Loot", "upload_date" => "20101210"} 14:32:25.225 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms idle=1102.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:32:25.228 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=1102.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:25.231 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=1013.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-10 23:04:42Z], 1] 14:32:25.318 [debug] QUERY OK source="media_items" db=86.2ms idle=1011.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis collect the epic loot they earned!\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 9: Epic Dungeon Loot", "ee6b66cf-ad0f-4d3a-afaa-32733d9d7e6e", 1, [], 719, false, "ZbrTC6ITbA4", "https://www.youtube.com/watch?v=ZbrTC6ITbA4", 9, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 9: Epic Dungeon Loot.mp4", false, false, false, 0, ~U[2010-12-10 23:04:42Z], ~U[2025-10-27 18:32:25Z], ~U[2025-10-27 18:32:25Z], "Simon and Lewis collect the epic loot they earned!\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 9: Epic Dungeon Loot", 1, 719, false, "ZbrTC6ITbA4", "https://www.youtube.com/watch?v=ZbrTC6ITbA4", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 9: Epic Dungeon Loot.mp4", false, ~U[2010-12-10 23:04:42Z]] 14:32:25.322 [debug] QUERY OK source="sources" db=3.5ms queue=0.1ms idle=367.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:32:25.322 [debug] Current batch of media processed. Will check again in 1000ms 14:32:26.323 [debug] Current batch of media processed. Will check again in 1000ms 14:32:27.326 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon and Lewis carry their spoils home on a freezing cold evening and begin work on improving their home.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 709, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 10: "Renovating" the Yogcave.mp4", "id" => "TQBQ0MIpJsk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=TQBQ0MIpJsk", "playlist_index" => 10, "timestamp" => 1292106689, "title" => "Minecraft - Part 10: \"Renovating\" the Yogcave", "upload_date" => "20101211"} 14:32:27.329 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=366.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:32:27.332 [debug] QUERY OK source="sources" db=2.4ms 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] 14:32:27.335 [debug] QUERY OK source="media_items" db=2.9ms idle=338.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-11 22:31:29Z], 1] 14:32:27.782 [debug] QUERY OK source="media_items" db=445.6ms queue=0.1ms idle=341.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis carry their spoils home on a freezing cold evening and begin work on improving their home.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 10: \"Renovating\" the Yogcave", "acbe5e24-f1bc-43a1-849e-daf4bdb270fc", 1, [], 709, false, "TQBQ0MIpJsk", "https://www.youtube.com/watch?v=TQBQ0MIpJsk", 10, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 10: "Renovating" the Yogcave.mp4", false, false, false, 0, ~U[2010-12-11 22:31:29Z], ~U[2025-10-27 18:32:27Z], ~U[2025-10-27 18:32:27Z], "Simon and Lewis carry their spoils home on a freezing cold evening and begin work on improving their home.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 10: \"Renovating\" the Yogcave", 1, 709, false, "TQBQ0MIpJsk", "https://www.youtube.com/watch?v=TQBQ0MIpJsk", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 10: "Renovating" the Yogcave.mp4", false, ~U[2010-12-11 22:31:29Z]] 14:32:27.785 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms idle=788.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:32:27.786 [debug] Current batch of media processed. Will check again in 1000ms 14:32:28.786 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon and Lewis spruce up their home and begin preparations for the \"big dig\".\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 828, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 11: Going Underground.mp4", "id" => "gJGYmOF_gR8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gJGYmOF_gR8", "playlist_index" => 11, "timestamp" => 1292193003, "title" => "Minecraft - Part 11: Going Underground", "upload_date" => "20101212"} 14:32:28.790 [debug] QUERY OK source="sources" db=3.1ms queue=0.1ms idle=1454.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:32:28.793 [debug] QUERY OK source="sources" db=3.0ms idle=1455.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:32:28.797 [debug] QUERY OK source="media_items" db=2.6ms idle=1012.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-12 22:30:03Z], 1] 14:32:28.928 [debug] QUERY OK source="media_items" db=130.5ms idle=1011.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis spruce up their home and begin preparations for the \"big dig\".\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 11: Going Underground", "9900cc0d-1809-4136-9b7b-343d31ab2251", 1, [], 828, false, "gJGYmOF_gR8", "https://www.youtube.com/watch?v=gJGYmOF_gR8", 11, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 11: Going Underground.mp4", false, false, false, 0, ~U[2010-12-12 22:30:03Z], ~U[2025-10-27 18:32:28Z], ~U[2025-10-27 18:32:28Z], "Simon and Lewis spruce up their home and begin preparations for the \"big dig\".\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 11: Going Underground", 1, 828, false, "gJGYmOF_gR8", "https://www.youtube.com/watch?v=gJGYmOF_gR8", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 11: Going Underground.mp4", false, ~U[2010-12-12 22:30:03Z]] 14:32:28.931 [debug] QUERY OK source="sources" db=2.6ms idle=964.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:32:28.931 [debug] Current batch of media processed. Will check again in 1000ms 14:32:29.932 [debug] Current batch of media processed. Will check again in 1000ms 14:32:30.933 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "William Riker and his dwarvish buddy discover iron, gold, redstone and zombies.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 647, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 12: Hitting Bedrock.mp4", "id" => "tcp7x8HaWSA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tcp7x8HaWSA", "playlist_index" => 12, "timestamp" => 1292283928, "title" => "Minecraft - Part 12: Hitting Bedrock", "upload_date" => "20101213"} 14:32:30.936 [debug] QUERY OK source="sources" db=2.7ms idle=960.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:32:30.939 [debug] QUERY OK source="sources" db=2.2ms queue=0.1ms idle=942.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:30.943 [debug] QUERY OK source="media_items" db=4.0ms queue=0.1ms idle=945.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-13 23:45:28Z], 1] 14:32:31.049 [debug] QUERY OK source="media_items" db=104.3ms idle=949.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["William Riker and his dwarvish buddy discover iron, gold, redstone and zombies.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 12: Hitting Bedrock", "a8b4b701-9869-4e90-9863-6d08f37c1118", 1, [], 647, false, "tcp7x8HaWSA", "https://www.youtube.com/watch?v=tcp7x8HaWSA", 12, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 12: Hitting Bedrock.mp4", false, false, false, 0, ~U[2010-12-13 23:45:28Z], ~U[2025-10-27 18:32:30Z], ~U[2025-10-27 18:32:30Z], "William Riker and his dwarvish buddy discover iron, gold, redstone and zombies.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 12: Hitting Bedrock", 1, 647, false, "tcp7x8HaWSA", "https://www.youtube.com/watch?v=tcp7x8HaWSA", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 12: Hitting Bedrock.mp4", false, ~U[2010-12-13 23:45:28Z]] 14:32:31.062 [debug] QUERY OK source="sources" db=12.6ms queue=0.2ms idle=112.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:32:31.062 [debug] Current batch of media processed. Will check again in 1000ms 14:32:32.063 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Lewis and Simon strike black gold and begin operations to extract it.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 767, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 13: Setting up the Obsidian Outpost.mp4", "id" => "QIPu1gadZZw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QIPu1gadZZw", "playlist_index" => 13, "timestamp" => 1292366663, "title" => "Minecraft - Part 13: Setting up the Obsidian Outpost", "upload_date" => "20101214"} 14:32:32.067 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms 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] 14:32:32.069 [debug] QUERY OK source="sources" db=2.1ms queue=0.1ms idle=1005.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:32.074 [debug] QUERY OK source="media_items" db=4.5ms queue=0.1ms idle=75.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-14 22:44:23Z], 1] 14:32:32.156 [debug] QUERY OK source="media_items" db=81.0ms queue=0.1ms idle=80.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Lewis and Simon strike black gold and begin operations to extract it.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 13: Setting up the Obsidian Outpost", "edd310a1-cc8a-446d-b8b1-20095deaaf47", 1, [], 767, false, "QIPu1gadZZw", "https://www.youtube.com/watch?v=QIPu1gadZZw", 13, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 13: Setting up the Obsidian Outpost.mp4", false, false, false, 0, ~U[2010-12-14 22:44:23Z], ~U[2025-10-27 18:32:32Z], ~U[2025-10-27 18:32:32Z], "Lewis and Simon strike black gold and begin operations to extract it.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 13: Setting up the Obsidian Outpost", 1, 767, false, "QIPu1gadZZw", "https://www.youtube.com/watch?v=QIPu1gadZZw", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 13: Setting up the Obsidian Outpost.mp4", false, ~U[2010-12-14 22:44:23Z]] 14:32:32.160 [debug] QUERY OK source="sources" db=2.8ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:32:32.160 [debug] Current batch of media processed. Will check again in 1000ms 14:32:32.419 [info] GET / 14:32:32.419 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:32:32.424 [debug] QUERY OK source="settings" db=3.0ms idle=354.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:32.428 [debug] QUERY OK source="media_profiles" db=2.8ms queue=0.1ms idle=355.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:32:32.431 [debug] QUERY OK source="sources" db=2.3ms queue=0.1ms idle=353.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:32:32.434 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=274.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:32:32.437 [debug] QUERY OK source="media_items" db=2.2ms queue=0.2ms idle=274.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:32:32.439 [debug] QUERY OK source="settings" db=2.0ms idle=12.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:32.442 [debug] QUERY OK source="settings" db=2.8ms 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 [] 14:32:32.445 [debug] QUERY OK source="settings" db=2.2ms 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:32:32.450 [debug] QUERY OK source="tasks" db=3.6ms idle=12.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:32:32.453 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=13.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:32:32.459 [debug] QUERY OK source="media_items" db=2.9ms queue=0.2ms idle=16.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:32:32.487 [debug] QUERY OK source="media_items" db=26.9ms queue=0.3ms idle=16.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:32:32.494 [debug] QUERY OK source="media_items" db=4.5ms queue=0.5ms idle=43.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:32:32.501 [debug] QUERY OK source="media_items" db=3.4ms queue=2.9ms idle=44.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:32:32.504 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=47.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:32:32.506 [info] Sent 200 in 87ms 14:32:32.722 [info] {"source":"oban","duration":3922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:32.739 [info] CONNECTED TO Phoenix.LiveView.Socket in 33µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dz0sDgFLbxAkXTNhMSdmJSoUEgQCEwUbOLHiB2_us1rYAoSNxMwaZtiY", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:32:32.764 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "downloaded"} 14:32:32.768 [debug] QUERY OK source="media_items" db=2.8ms idle=278.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:32:32.771 [debug] QUERY OK source="media_items" db=2.7ms idle=274.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:32:32.771 [debug] Replied in 6ms 14:32:32.772 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "pending"} 14:32:32.775 [debug] QUERY OK source="media_items" db=2.4ms idle=271.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:32:32.781 [debug] QUERY OK source="media_items" db=5.6ms idle=271.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "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:32:32.784 [debug] QUERY OK source="sources" db=2.8ms idle=59.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:32:32.784 [debug] Replied in 12ms 14:32:32.787 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:32:32.792 [debug] QUERY OK source="tasks" db=4.1ms idle=19.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"] 14:32:32.795 [debug] QUERY OK source="sources" db=2.4ms idle=21.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:32:32.795 [debug] Replied in 7ms 14:32:32.796 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:32:32.796 [debug] Replied in 113µs 14:32:33.161 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The black gold won't mine itself, so the boys must hunt for diamond!\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 711, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 14: In Search of Diamond.mp4", "id" => "krC7OEk4tic", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=krC7OEk4tic", "playlist_index" => 14, "timestamp" => 1292454660, "title" => "Minecraft - Part 14: In Search of Diamond", "upload_date" => "20101215"} 14:32:33.164 [debug] QUERY OK source="sources" db=2.6ms idle=380.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:32:33.167 [debug] QUERY OK source="sources" db=2.2ms queue=0.1ms idle=380.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:33.171 [debug] QUERY OK source="media_items" db=2.9ms idle=375.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-15 23:11:00Z], 1] 14:32:33.274 [debug] QUERY OK source="media_items" db=102.2ms idle=376.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The black gold won't mine itself, so the boys must hunt for diamond!\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 14: In Search of Diamond", "11acd39d-ccac-4afd-b621-12d767006e22", 1, [], 711, false, "krC7OEk4tic", "https://www.youtube.com/watch?v=krC7OEk4tic", 14, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 14: In Search of Diamond.mp4", false, false, false, 0, ~U[2010-12-15 23:11:00Z], ~U[2025-10-27 18:32:33Z], ~U[2025-10-27 18:32:33Z], "The black gold won't mine itself, so the boys must hunt for diamond!\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 14: In Search of Diamond", 1, 711, false, "krC7OEk4tic", "https://www.youtube.com/watch?v=krC7OEk4tic", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 14: In Search of Diamond.mp4", false, ~U[2010-12-15 23:11:00Z]] 14:32:33.277 [debug] QUERY OK source="sources" db=2.6ms idle=252.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:32:33.277 [debug] Current batch of media processed. Will check again in 1000ms 14:32:34.278 [debug] Current batch of media processed. Will check again in 1000ms 14:32:35.279 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon works hard to mine obsidian, while Lewis explores deep underground caverns in fear for his life and sanity.\r\n\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 785, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 15: Hoarding Obsidian.mp4", "id" => "ZXbMTFdgzCo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZXbMTFdgzCo", "playlist_index" => 15, "timestamp" => 1292532593, "title" => "Minecraft - Part 15: Hoarding Obsidian", "upload_date" => "20101216"} 14:32:35.283 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms idle=285.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:32:35.286 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=289.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:35.290 [debug] QUERY OK source="media_items" db=3.5ms idle=292.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-16 20:49:53Z], 1] 14:32:35.374 [debug] QUERY OK source="media_items" db=83.6ms idle=296.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon works hard to mine obsidian, while Lewis explores deep underground caverns in fear for his life and sanity.\r\n\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 15: Hoarding Obsidian", "dcfe309d-792f-4303-b994-d3723b2bba5c", 1, [], 785, false, "ZXbMTFdgzCo", "https://www.youtube.com/watch?v=ZXbMTFdgzCo", 15, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 15: Hoarding Obsidian.mp4", false, false, false, 0, ~U[2010-12-16 20:49:53Z], ~U[2025-10-27 18:32:35Z], ~U[2025-10-27 18:32:35Z], "Simon works hard to mine obsidian, while Lewis explores deep underground caverns in fear for his life and sanity.\r\n\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 15: Hoarding Obsidian", 1, 785, false, "ZXbMTFdgzCo", "https://www.youtube.com/watch?v=ZXbMTFdgzCo", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 15: Hoarding Obsidian.mp4", false, ~U[2010-12-16 20:49:53Z]] 14:32:35.378 [debug] QUERY OK source="sources" db=2.6ms idle=345.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:32:35.378 [debug] Current batch of media processed. Will check again in 1000ms 14:32:36.379 [debug] Current batch of media processed. Will check again in 1000ms 14:32:37.380 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "With their obsidian in hand, William Riker and his dwarvish pal dabble in the occult.\n\n\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 1052, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 16: Dark Constructions.mp4", "id" => "HfYqtRscfOI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=HfYqtRscfOI", "playlist_index" => 16, "timestamp" => 1292617931, "title" => "Minecraft - Part 16: Dark Constructions", "upload_date" => "20101217"} 14:32:37.383 [debug] QUERY OK source="sources" db=2.8ms idle=386.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:32:37.387 [debug] QUERY OK source="sources" db=2.7ms idle=389.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:37.391 [debug] QUERY OK source="media_items" db=4.1ms idle=392.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-17 20:32:11Z], 1] 14:32:37.514 [debug] QUERY OK source="media_items" db=122.4ms queue=0.1ms idle=397.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["With their obsidian in hand, William Riker and his dwarvish pal dabble in the occult.\n\n\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 16: Dark Constructions", "27c31417-a247-4bc9-a8a3-c2c614a47261", 1, [], 1052, false, "HfYqtRscfOI", "https://www.youtube.com/watch?v=HfYqtRscfOI", 16, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 16: Dark Constructions.mp4", false, false, false, 0, ~U[2010-12-17 20:32:11Z], ~U[2025-10-27 18:32:37Z], ~U[2025-10-27 18:32:37Z], "With their obsidian in hand, William Riker and his dwarvish pal dabble in the occult.\n\n\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 16: Dark Constructions", 1, 1052, false, "HfYqtRscfOI", "https://www.youtube.com/watch?v=HfYqtRscfOI", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 16: Dark Constructions.mp4", false, ~U[2010-12-17 20:32:11Z]] 14:32:37.518 [debug] QUERY OK source="sources" db=2.7ms idle=476.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:32:37.518 [debug] Current batch of media processed. Will check again in 1000ms 14:32:38.519 [debug] Current batch of media processed. Will check again in 1000ms 14:32:39.371 [info] GET /settings 14:32:39.371 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 14:32:39.375 [debug] QUERY OK source="settings" db=3.8ms idle=376.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:39.378 [debug] QUERY OK source="settings" db=2.8ms idle=381.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:39.381 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=384.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:39.384 [debug] QUERY OK source="settings" db=2.4ms idle=387.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:39.386 [info] Sent 200 in 15ms 14:32:39.508 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cAEiXitJCSkWORJAOhlNKGAfVEgIPUFyHpF9h09LAUSxJQxC2F1-PZ-0", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:32:39.516 [debug] MOUNT Pinchflat.Settings.AppriseServerLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "value" => nil} 14:32:39.516 [debug] Replied in 139µs 14:32:39.517 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:32:39.517 [debug] Replied in 157µs 14:32:39.520 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "With construction of the yogcastle in half-swing, the boys get interrupted in their building efforts.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 718, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 17: Yogcastle Construction Interrupted.mp4", "id" => "tchKUw1PA1A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tchKUw1PA1A", "playlist_index" => 17, "timestamp" => 1292663383, "title" => "Minecraft - Part 17: Yogcastle Construction Interrupted", "upload_date" => "20101218"} 14:32:39.524 [debug] QUERY OK source="sources" db=3.2ms 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] 14:32:39.527 [debug] QUERY OK source="sources" db=3.1ms idle=149.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:39.532 [debug] QUERY OK source="media_items" db=4.1ms idle=149.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-18 09:09:43Z], 1] 14:32:39.609 [debug] QUERY OK source="media_items" db=76.0ms queue=0.1ms idle=151.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["With construction of the yogcastle in half-swing, the boys get interrupted in their building efforts.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 17: Yogcastle Construction Interrupted", "aea6de88-a11d-490c-b1bf-0b250f2b09eb", 1, [], 718, false, "tchKUw1PA1A", "https://www.youtube.com/watch?v=tchKUw1PA1A", 17, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 17: Yogcastle Construction Interrupted.mp4", false, false, false, 0, ~U[2010-12-18 09:09:43Z], ~U[2025-10-27 18:32:39Z], ~U[2025-10-27 18:32:39Z], "With construction of the yogcastle in half-swing, the boys get interrupted in their building efforts.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 17: Yogcastle Construction Interrupted", 1, 718, false, "tchKUw1PA1A", "https://www.youtube.com/watch?v=tchKUw1PA1A", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 17: Yogcastle Construction Interrupted.mp4", false, ~U[2010-12-18 09:09:43Z]] 14:32:39.612 [debug] QUERY OK source="sources" db=3.0ms idle=224.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:32:39.613 [debug] Current batch of media processed. Will check again in 1000ms 14:32:40.158 [info] GET /settings 14:32:40.158 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 14:32:40.162 [debug] QUERY OK source="settings" db=2.8ms 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 [] 14:32:40.165 [debug] QUERY OK source="settings" db=2.4ms idle=629.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.167 [debug] QUERY OK source="settings" db=2.3ms idle=556.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.170 [debug] QUERY OK source="settings" db=2.2ms idle=555.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.173 [info] Sent 200 in 14ms 14:32:40.614 [debug] Current batch of media processed. Will check again in 1000ms 14:32:41.615 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon and Lewis chase their mysterious assailant.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 733, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 18: Chasing Israphel.mp4", "id" => "O2A26hNH03w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=O2A26hNH03w", "playlist_index" => 18, "timestamp" => 1292797703, "title" => "Minecraft - Part 18: Chasing Israphel", "upload_date" => "20101219"} 14:32:41.619 [debug] QUERY OK source="sources" db=3.4ms idle=1453.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:32:41.622 [debug] QUERY OK source="sources" db=2.7ms idle=1454.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:32:41.626 [debug] QUERY OK source="media_items" db=3.3ms idle=1455.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-19 22:28:23Z], 1] 14:32:41.724 [debug] QUERY OK source="media_items" db=96.7ms idle=1456.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis chase their mysterious assailant.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 18: Chasing Israphel", "00b52bc1-97e6-428e-aa74-f80c25dc1ebd", 1, [], 733, false, "O2A26hNH03w", "https://www.youtube.com/watch?v=O2A26hNH03w", 18, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 18: Chasing Israphel.mp4", false, false, false, 0, ~U[2010-12-19 22:28:23Z], ~U[2025-10-27 18:32:41Z], ~U[2025-10-27 18:32:41Z], "Simon and Lewis chase their mysterious assailant.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 18: Chasing Israphel", 1, 733, false, "O2A26hNH03w", "https://www.youtube.com/watch?v=O2A26hNH03w", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 18: Chasing Israphel.mp4", false, ~U[2010-12-19 22:28:23Z]] 14:32:41.727 [debug] QUERY OK source="sources" db=2.6ms idle=667.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:32:41.727 [debug] Current batch of media processed. Will check again in 1000ms 14:32:42.728 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The boys take shelter from Israphel under the shadow of their hellgate, and hatch a plan to return to the safety of the yogcastle.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 645, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 19: Tunnelling in the Dark (Multiplayer Survival).mp4", "id" => "6XOJ022IxT8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=6XOJ022IxT8", "playlist_index" => 19, "timestamp" => 1292880903, "title" => "Minecraft - Part 19: Tunnelling in the Dark (Multiplayer Survival)", "upload_date" => "20101220"} 14:32:42.732 [debug] QUERY OK source="sources" db=2.9ms idle=1106.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:32:42.736 [debug] QUERY OK source="sources" db=3.5ms 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] 14:32:42.740 [debug] QUERY OK source="media_items" db=3.7ms idle=1012.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-20 21:35:03Z], 1] 14:32:43.053 [debug] QUERY OK source="media_items" db=312.0ms idle=1013.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The boys take shelter from Israphel under the shadow of their hellgate, and hatch a plan to return to the safety of the yogcastle.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 19: Tunnelling in the Dark (Multiplayer Survival)", "fb7da2e0-c3d4-45be-b009-737c1daedea7", 1, [], 645, false, "6XOJ022IxT8", "https://www.youtube.com/watch?v=6XOJ022IxT8", 19, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 19: Tunnelling in the Dark (Multiplayer Survival).mp4", false, false, false, 0, ~U[2010-12-20 21:35:03Z], ~U[2025-10-27 18:32:42Z], ~U[2025-10-27 18:32:42Z], "The boys take shelter from Israphel under the shadow of their hellgate, and hatch a plan to return to the safety of the yogcastle.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 19: Tunnelling in the Dark (Multiplayer Survival)", 1, 645, false, "6XOJ022IxT8", "https://www.youtube.com/watch?v=6XOJ022IxT8", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 19: Tunnelling in the Dark (Multiplayer Survival).mp4", false, ~U[2010-12-20 21:35:03Z]] 14:32:43.056 [debug] QUERY OK source="sources" db=2.7ms idle=992.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:32:43.056 [debug] Current batch of media processed. Will check again in 1000ms 14:32:44.057 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In an ill-conceived idea, Lewis makes some embarrassingly bad stairs up the side of the yogcastle.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 590, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 20: Terrible Switchback Stairs.mp4", "id" => "ydmQN4N25Lw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ydmQN4N25Lw", "playlist_index" => 20, "timestamp" => 1292959239, "title" => "Minecraft - Part 20: Terrible Switchback Stairs", "upload_date" => "20101221"} 14:32:44.060 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=1005.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:32:44.063 [debug] QUERY OK source="sources" db=2.2ms idle=1004.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:32:44.068 [debug] QUERY OK source="media_items" db=4.2ms idle=998.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-21 19:20:39Z], 1] 14:32:44.170 [debug] QUERY OK source="media_items" db=101.4ms idle=74.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In an ill-conceived idea, Lewis makes some embarrassingly bad stairs up the side of the yogcastle.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 20: Terrible Switchback Stairs", "d11b3c92-dc94-483e-9b8e-96c8fc99605e", 1, [], 590, false, "ydmQN4N25Lw", "https://www.youtube.com/watch?v=ydmQN4N25Lw", 20, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 20: Terrible Switchback Stairs.mp4", false, false, false, 0, ~U[2010-12-21 19:20:39Z], ~U[2025-10-27 18:32:44Z], ~U[2025-10-27 18:32:44Z], "In an ill-conceived idea, Lewis makes some embarrassingly bad stairs up the side of the yogcastle.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 20: Terrible Switchback Stairs", 1, 590, false, "ydmQN4N25Lw", "https://www.youtube.com/watch?v=ydmQN4N25Lw", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 20: Terrible Switchback Stairs.mp4", false, ~U[2010-12-21 19:20:39Z]] 14:32:44.173 [debug] QUERY OK source="sources" db=2.9ms idle=109.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:32:44.174 [debug] Current batch of media processed. Will check again in 1000ms 14:32:45.174 [debug] Current batch of media processed. Will check again in 1000ms 14:32:46.175 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon and Lewis get to work pimping out the yogcastle but are again distracted by rude interruptions to their construction efforts.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 746, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 21: Ceiling Construction Interrupted.mp4", "id" => "CcIfbF0ZpSs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=CcIfbF0ZpSs", "playlist_index" => 21, "timestamp" => 1293057924, "title" => "Minecraft - Part 21: Ceiling Construction Interrupted", "upload_date" => "20101222"} 14:32:46.179 [debug] QUERY OK source="sources" db=2.9ms idle=181.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:32:46.182 [debug] QUERY OK source="sources" db=2.5ms idle=184.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:46.188 [debug] QUERY OK source="media_items" db=5.5ms idle=187.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-22 22:45:24Z], 1] 14:32:46.309 [debug] QUERY OK source="media_items" db=120.4ms idle=194.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis get to work pimping out the yogcastle but are again distracted by rude interruptions to their construction efforts.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 21: Ceiling Construction Interrupted", "96c03567-7295-4bad-bec9-04d1d8a9e324", 1, [], 746, false, "CcIfbF0ZpSs", "https://www.youtube.com/watch?v=CcIfbF0ZpSs", 21, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 21: Ceiling Construction Interrupted.mp4", false, false, false, 0, ~U[2010-12-22 22:45:24Z], ~U[2025-10-27 18:32:46Z], ~U[2025-10-27 18:32:46Z], "Simon and Lewis get to work pimping out the yogcastle but are again distracted by rude interruptions to their construction efforts.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 21: Ceiling Construction Interrupted", 1, 746, false, "CcIfbF0ZpSs", "https://www.youtube.com/watch?v=CcIfbF0ZpSs", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 21: Ceiling Construction Interrupted.mp4", false, ~U[2010-12-22 22:45:24Z]] 14:32:46.313 [debug] QUERY OK source="sources" db=3.4ms queue=0.1ms idle=232.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:32:46.313 [debug] Current batch of media processed. Will check again in 1000ms 14:32:47.314 [debug] Current batch of media processed. Will check again in 1000ms 14:32:48.315 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "William Ryker and his dwarvish companion follow a strange path.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 671, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 22: Old Peculier.mp4", "id" => "EOSA5aoQzGM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=EOSA5aoQzGM", "playlist_index" => 22, "timestamp" => 1293134679, "title" => "Minecraft - Part 22: Old Peculier", "upload_date" => "20101223"} 14:32:48.319 [debug] QUERY OK source="sources" db=3.3ms idle=321.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:32:48.322 [debug] QUERY OK source="sources" db=2.4ms queue=0.1ms idle=325.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:48.327 [debug] QUERY OK source="media_items" db=4.1ms queue=0.2ms idle=328.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-23 20:04:39Z], 1] 14:32:48.435 [debug] QUERY OK source="media_items" db=107.3ms idle=333.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["William Ryker and his dwarvish companion follow a strange path.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 22: Old Peculier", "2995379e-918a-4d94-b912-79508027c5d5", 1, [], 671, false, "EOSA5aoQzGM", "https://www.youtube.com/watch?v=EOSA5aoQzGM", 22, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 22: Old Peculier.mp4", false, false, false, 0, ~U[2010-12-23 20:04:39Z], ~U[2025-10-27 18:32:48Z], ~U[2025-10-27 18:32:48Z], "William Ryker and his dwarvish companion follow a strange path.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 22: Old Peculier", 1, 671, false, "EOSA5aoQzGM", "https://www.youtube.com/watch?v=EOSA5aoQzGM", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 22: Old Peculier.mp4", false, ~U[2010-12-23 20:04:39Z]] 14:32:48.439 [debug] QUERY OK source="sources" db=3.4ms queue=0.1ms idle=350.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:32:48.440 [debug] Current batch of media processed. Will check again in 1000ms 14:32:49.440 [debug] Current batch of media processed. Will check again in 1000ms 14:32:50.441 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The boys provide assistance to some people on their server.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 682, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 23: The House on the Hill.mp4", "id" => "I__qd7fBK_c", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=I__qd7fBK_c", "playlist_index" => 23, "timestamp" => 1293189416, "title" => "Minecraft - Part 23: The House on the Hill", "upload_date" => "20101224"} 14:32:50.445 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=447.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:32:50.448 [debug] QUERY OK source="sources" db=2.6ms idle=450.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:50.453 [debug] QUERY OK source="media_items" db=4.5ms queue=0.1ms idle=453.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-24 11:16:56Z], 1] 14:32:50.560 [debug] QUERY OK source="media_items" db=106.5ms idle=459.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The boys provide assistance to some people on their server.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 23: The House on the Hill", "e6e6786a-f659-484e-a9d0-ca488a92b4fb", 1, [], 682, false, "I__qd7fBK_c", "https://www.youtube.com/watch?v=I__qd7fBK_c", 23, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 23: The House on the Hill.mp4", false, false, false, 0, ~U[2010-12-24 11:16:56Z], ~U[2025-10-27 18:32:50Z], ~U[2025-10-27 18:32:50Z], "The boys provide assistance to some people on their server.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 23: The House on the Hill", 1, 682, false, "I__qd7fBK_c", "https://www.youtube.com/watch?v=I__qd7fBK_c", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 23: The House on the Hill.mp4", false, ~U[2010-12-24 11:16:56Z]] 14:32:50.563 [debug] QUERY OK source="sources" db=2.3ms idle=466.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:32:50.563 [debug] Current batch of media processed. Will check again in 1000ms 14:32:51.564 [debug] Current batch of media processed. Will check again in 1000ms 14:32:52.565 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "William Ryker and his dwarven pal continue to assist some strange people that have made their home on the server.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 674, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 24: Troubling Events in Terrorvale.mp4", "id" => "exi05W1LWek", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=exi05W1LWek", "playlist_index" => 24, "timestamp" => 1293374668, "title" => "Minecraft - Part 24: Troubling Events in Terrorvale", "upload_date" => "20101226"} 14:32:52.570 [debug] QUERY OK source="sources" db=3.6ms queue=0.1ms idle=571.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:32:52.572 [debug] QUERY OK source="sources" db=2.4ms idle=575.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:52.577 [debug] QUERY OK source="media_items" db=3.7ms idle=578.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-26 14:44:28Z], 1] 14:32:52.664 [debug] QUERY OK source="media_items" db=86.5ms queue=0.1ms idle=583.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["William Ryker and his dwarven pal continue to assist some strange people that have made their home on the server.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 24: Troubling Events in Terrorvale", "90adfd04-1eda-408d-88fd-0c8c700e1117", 1, [], 674, false, "exi05W1LWek", "https://www.youtube.com/watch?v=exi05W1LWek", 24, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 24: Troubling Events in Terrorvale.mp4", false, false, false, 0, ~U[2010-12-26 14:44:28Z], ~U[2025-10-27 18:32:52Z], ~U[2025-10-27 18:32:52Z], "William Ryker and his dwarven pal continue to assist some strange people that have made their home on the server.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 24: Troubling Events in Terrorvale", 1, 674, false, "exi05W1LWek", "https://www.youtube.com/watch?v=exi05W1LWek", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 24: Troubling Events in Terrorvale.mp4", false, ~U[2010-12-26 14:44:28Z]] 14:32:52.668 [debug] QUERY OK source="sources" db=3.0ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:32:52.668 [debug] Current batch of media processed. Will check again in 1000ms 14:32:53.669 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon and Lewis continue to investigate the disturbing goings-on in Terrorvale.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 585, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 25: A Sinister Discovery.mp4", "id" => "JuKFsaXhqRM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JuKFsaXhqRM", "playlist_index" => 25, "timestamp" => 1293482859, "title" => "Minecraft - Part 25: A Sinister Discovery", "upload_date" => "20101227"} 14:32:53.676 [debug] QUERY OK source="sources" db=6.4ms queue=0.1ms idle=1097.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:32:53.681 [debug] QUERY OK source="sources" db=4.0ms queue=0.1ms idle=1099.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:53.689 [debug] QUERY OK source="media_items" db=8.0ms queue=0.1ms idle=1017.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-27 20:47:39Z], 1] 14:32:53.773 [debug] QUERY OK source="media_items" db=82.5ms queue=0.1ms idle=1022.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis continue to investigate the disturbing goings-on in Terrorvale.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 25: A Sinister Discovery", "bac5ff28-ec35-49b8-bef9-784baefc4206", 1, [], 585, false, "JuKFsaXhqRM", "https://www.youtube.com/watch?v=JuKFsaXhqRM", 25, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 25: A Sinister Discovery.mp4", false, false, false, 0, ~U[2010-12-27 20:47:39Z], ~U[2025-10-27 18:32:53Z], ~U[2025-10-27 18:32:53Z], "Simon and Lewis continue to investigate the disturbing goings-on in Terrorvale.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 25: A Sinister Discovery", 1, 585, false, "JuKFsaXhqRM", "https://www.youtube.com/watch?v=JuKFsaXhqRM", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 25: A Sinister Discovery.mp4", false, ~U[2010-12-27 20:47:39Z]] 14:32:53.777 [debug] QUERY OK source="sources" db=3.0ms queue=0.1ms idle=665.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:32:53.777 [debug] Current batch of media processed. Will check again in 1000ms 14:32:54.778 [debug] Current batch of media processed. Will check again in 1000ms 14:32:55.779 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon and Lewis visit Israphel's Tomb, and, er, well, you'll see.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 520, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 26: The Tomb.mp4", "id" => "4522OA2MMFY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4522OA2MMFY", "playlist_index" => 26, "timestamp" => 1293563780, "title" => "Minecraft - Part 26: The Tomb", "upload_date" => "20101228"} 14:32:55.783 [debug] QUERY OK source="sources" db=3.4ms idle=785.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:32:55.786 [debug] QUERY OK source="sources" db=2.7ms idle=789.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:55.791 [debug] QUERY OK source="media_items" db=3.7ms idle=792.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-28 19:16:20Z], 1] 14:32:55.874 [debug] QUERY OK source="media_items" db=82.6ms idle=797.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis visit Israphel's Tomb, and, er, well, you'll see.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 26: The Tomb", "f11dc2fc-16ff-4526-acc8-e24cf184410c", 1, [], 520, false, "4522OA2MMFY", "https://www.youtube.com/watch?v=4522OA2MMFY", 26, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 26: The Tomb.mp4", false, false, false, 0, ~U[2010-12-28 19:16:20Z], ~U[2025-10-27 18:32:55Z], ~U[2025-10-27 18:32:55Z], "Simon and Lewis visit Israphel's Tomb, and, er, well, you'll see.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 26: The Tomb", 1, 520, false, "4522OA2MMFY", "https://www.youtube.com/watch?v=4522OA2MMFY", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 26: The Tomb.mp4", false, ~U[2010-12-28 19:16:20Z]] 14:32:55.878 [debug] QUERY OK source="sources" db=3.5ms idle=757.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:32:55.879 [debug] Current batch of media processed. Will check again in 1000ms 14:32:56.879 [debug] Current batch of media processed. Will check again in 1000ms 14:32:57.880 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The grand finale to season 1 of our minecraft series!\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 1019, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 27: The Tunnel Run.mp4", "id" => "3dfhDAdP-CQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3dfhDAdP-CQ", "playlist_index" => 27, "timestamp" => 1293659206, "title" => "Minecraft - Part 27: The Tunnel Run", "upload_date" => "20101229"} 14:32:57.884 [debug] QUERY OK source="sources" db=3.2ms queue=0.1ms idle=886.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:32:57.888 [debug] QUERY OK source="sources" db=3.4ms queue=0.1ms idle=890.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:57.893 [debug] QUERY OK source="media_items" db=4.0ms queue=0.1ms idle=894.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-29 21:46:46Z], 1] 14:32:57.983 [debug] QUERY OK source="media_items" db=89.5ms idle=898.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The grand finale to season 1 of our minecraft series!\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 27: The Tunnel Run", "7767f718-ef0a-4b6c-9023-f530cee080be", 1, [], 1019, false, "3dfhDAdP-CQ", "https://www.youtube.com/watch?v=3dfhDAdP-CQ", 27, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 27: The Tunnel Run.mp4", false, false, false, 0, ~U[2010-12-29 21:46:46Z], ~U[2025-10-27 18:32:57Z], ~U[2025-10-27 18:32:57Z], "The grand finale to season 1 of our minecraft series!\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 27: The Tunnel Run", 1, 1019, false, "3dfhDAdP-CQ", "https://www.youtube.com/watch?v=3dfhDAdP-CQ", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 27: The Tunnel Run.mp4", false, ~U[2010-12-29 21:46:46Z]] 14:32:57.986 [debug] QUERY OK source="sources" db=3.1ms queue=0.1ms idle=856.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:32:57.987 [debug] Current batch of media processed. Will check again in 1000ms 14:32:58.988 [debug] Current batch of media processed. Will check again in 1000ms 14:32:59.989 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n▬▬▬▬▬\n\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nFacebook: https://www.facebook.com/yogscast/\nWatch us live on Twitch.tv every day! http://www.twitch.tv/yogscast/\n\n▬▬▬▬▬\n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT", "duration" => 1078, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 1: Precious Dirt.mp4", "id" => "BcsN3d7eKgY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BcsN3d7eKgY", "playlist_index" => 28, "timestamp" => 1294021145, "title" => "Minecraft - \"Survival Island\" Part 1: Precious Dirt", "upload_date" => "20110103"} 14:32:59.993 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=995.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:32:59.996 [debug] QUERY OK source="sources" db=2.7ms idle=998.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:00.000 [debug] QUERY OK source="media_items" db=4.1ms idle=1001.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-03 02:19:05Z], 1] 14:33:00.083 [debug] QUERY OK source="media_items" db=82.2ms idle=1006.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n▬▬▬▬▬\n\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nFacebook: https://www.facebook.com/yogscast/\nWatch us live on Twitch.tv every day! http://www.twitch.tv/yogscast/\n\n▬▬▬▬▬\n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT", "Minecraft - \"Survival Island\" Part 1: Precious Dirt", "136278d2-f869-4cba-a596-072222629fd7", 1, [], 1078, false, "BcsN3d7eKgY", "https://www.youtube.com/watch?v=BcsN3d7eKgY", 28, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 1: Precious Dirt.mp4", false, false, false, 0, ~U[2011-01-03 02:19:05Z], ~U[2025-10-27 18:33:00Z], ~U[2025-10-27 18:33:00Z], "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n▬▬▬▬▬\n\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nFacebook: https://www.facebook.com/yogscast/\nWatch us live on Twitch.tv every day! http://www.twitch.tv/yogscast/\n\n▬▬▬▬▬\n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT", "Minecraft - \"Survival Island\" Part 1: Precious Dirt", 1, 1078, false, "BcsN3d7eKgY", "https://www.youtube.com/watch?v=BcsN3d7eKgY", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 1: Precious Dirt.mp4", false, ~U[2011-01-03 02:19:05Z]] 14:33:00.087 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=948.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:33:00.087 [debug] Current batch of media processed. Will check again in 1000ms 14:33:00.718 [info] {"source":"oban","duration":284,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:33:01.088 [debug] Current batch of media processed. Will check again in 1000ms 14:33:02.089 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 849, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 2: I have a sense of impending doom.mp4", "id" => "4uH58nL-RmQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4uH58nL-RmQ", "playlist_index" => 29, "timestamp" => 1294088573, "title" => "Minecraft - \"Survival Island\" Part 2: I have a sense of impending doom", "upload_date" => "20110103"} 14:33:02.093 [debug] QUERY OK source="sources" db=3.2ms queue=0.1ms idle=944.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:02.096 [debug] QUERY OK source="sources" db=2.7ms idle=99.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:02.103 [debug] QUERY OK source="media_items" db=6.8ms idle=102.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-03 21:02:53Z], 1] 14:33:02.191 [debug] QUERY OK source="media_items" db=86.4ms idle=109.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 2: I have a sense of impending doom", "2ee04a24-0165-415d-9a5a-39c1fcc53593", 1, [], 849, false, "4uH58nL-RmQ", "https://www.youtube.com/watch?v=4uH58nL-RmQ", 29, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 2: I have a sense of impending doom.mp4", false, false, false, 1, ~U[2011-01-03 21:02:53Z], ~U[2025-10-27 18:33:02Z], ~U[2025-10-27 18:33:02Z], "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 2: I have a sense of impending doom", 1, 849, false, "4uH58nL-RmQ", "https://www.youtube.com/watch?v=4uH58nL-RmQ", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 2: I have a sense of impending doom.mp4", false, ~U[2011-01-03 21:02:53Z]] 14:33:02.195 [debug] QUERY OK source="sources" db=3.7ms idle=98.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:02.196 [debug] Current batch of media processed. Will check again in 1000ms 14:33:02.727 [info] {"source":"oban","duration":4280,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:03.197 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 894, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 3: Mushroom on toast.mp4", "id" => "8rXxZ2J_Q10", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8rXxZ2J_Q10", "playlist_index" => 30, "timestamp" => 1294179308, "title" => "Minecraft - \"Survival Island\" Part 3: Mushroom on toast", "upload_date" => "20110104"} 14:33:03.205 [debug] QUERY OK source="sources" db=7.2ms idle=1094.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:03.209 [debug] QUERY OK source="sources" db=3.4ms 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" = ?) [1] 14:33:03.213 [debug] QUERY OK source="media_items" db=4.2ms idle=1003.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-04 22:15:08Z], 1] 14:33:03.499 [debug] QUERY OK source="media_items" db=284.9ms queue=0.1ms idle=486.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 3: Mushroom on toast", "aa807b19-2593-4632-88a9-0951e9432052", 1, [], 894, false, "8rXxZ2J_Q10", "https://www.youtube.com/watch?v=8rXxZ2J_Q10", 30, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 3: Mushroom on toast.mp4", false, false, false, 0, ~U[2011-01-04 22:15:08Z], ~U[2025-10-27 18:33:03Z], ~U[2025-10-27 18:33:03Z], "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 3: Mushroom on toast", 1, 894, false, "8rXxZ2J_Q10", "https://www.youtube.com/watch?v=8rXxZ2J_Q10", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 3: Mushroom on toast.mp4", false, ~U[2011-01-04 22:15:08Z]] 14:33:03.503 [debug] QUERY OK source="sources" db=3.4ms idle=294.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:33:03.503 [debug] Current batch of media processed. Will check again in 1000ms 14:33:04.504 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 927, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 4: Other breads are available.mp4", "id" => "iEDnzk_XAfM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=iEDnzk_XAfM", "playlist_index" => 31, "timestamp" => 1294265830, "title" => "Minecraft - \"Survival Island\" Part 4: Other breads are available", "upload_date" => "20110105"} 14:33:04.508 [debug] QUERY OK source="sources" db=3.4ms idle=1296.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:04.512 [debug] QUERY OK source="sources" db=3.0ms idle=1295.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:04.516 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=1013.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-05 22:17:10Z], 1] 14:33:04.610 [debug] QUERY OK source="media_items" db=93.2ms idle=1013.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 4: Other breads are available", "cee71a6d-c69f-4dfb-b61f-f9c912802671", 1, [], 927, false, "iEDnzk_XAfM", "https://www.youtube.com/watch?v=iEDnzk_XAfM", 31, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 4: Other breads are available.mp4", false, false, false, 0, ~U[2011-01-05 22:17:10Z], ~U[2025-10-27 18:33:04Z], ~U[2025-10-27 18:33:04Z], "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 4: Other breads are available", 1, 927, false, "iEDnzk_XAfM", "https://www.youtube.com/watch?v=iEDnzk_XAfM", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 4: Other breads are available.mp4", false, ~U[2011-01-05 22:17:10Z]] 14:33:04.614 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=398.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:04.614 [debug] Current batch of media processed. Will check again in 1000ms 14:33:05.615 [debug] Current batch of media processed. Will check again in 1000ms 14:33:06.617 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 822, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 5: Food and Shelter (and Zombies).mp4", "id" => "TmOKsR7nxO8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=TmOKsR7nxO8", "playlist_index" => 32, "timestamp" => 1294353067, "title" => "Minecraft - \"Survival Island\" Part 5: Food and Shelter (and Zombies)", "upload_date" => "20110106"} 14:33:06.620 [debug] QUERY OK source="sources" db=3.1ms queue=0.1ms idle=622.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:06.623 [debug] QUERY OK source="sources" db=2.8ms idle=626.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:06.628 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=629.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-06 22:31:07Z], 1] 14:33:06.703 [debug] QUERY OK source="media_items" db=74.1ms idle=633.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 5: Food and Shelter (and Zombies)", "c001d6a6-870b-4546-a731-e14d3335603e", 1, [], 822, false, "TmOKsR7nxO8", "https://www.youtube.com/watch?v=TmOKsR7nxO8", 32, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 5: Food and Shelter (and Zombies).mp4", false, false, false, 0, ~U[2011-01-06 22:31:07Z], ~U[2025-10-27 18:33:06Z], ~U[2025-10-27 18:33:06Z], "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 5: Food and Shelter (and Zombies)", 1, 822, false, "TmOKsR7nxO8", "https://www.youtube.com/watch?v=TmOKsR7nxO8", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 5: Food and Shelter (and Zombies).mp4", false, ~U[2011-01-06 22:31:07Z]] 14:33:06.706 [debug] QUERY OK source="sources" db=2.6ms idle=482.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:33:06.706 [debug] Current batch of media processed. Will check again in 1000ms 14:33:07.707 [debug] Current batch of media processed. Will check again in 1000ms 14:33:08.708 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) Dokus' RPG texture pack - check the latest posts in the thread for the most up-to-date pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 672, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 6: Burn you hellish fiends! Burn!.mp4", "id" => "RJKl6htBbK4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RJKl6htBbK4", "playlist_index" => 33, "timestamp" => 1294435699, "title" => "Minecraft - \"Survival Island\" Part 6: Burn you hellish fiends! Burn!", "upload_date" => "20110107"} 14:33:08.712 [debug] QUERY OK source="sources" db=3.2ms queue=0.1ms idle=714.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:08.715 [debug] QUERY OK source="sources" db=2.9ms idle=718.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:08.720 [debug] QUERY OK source="media_items" db=4.3ms queue=0.1ms idle=721.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-07 21:28:19Z], 1] 14:33:08.797 [debug] QUERY OK source="media_items" db=75.9ms idle=726.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) Dokus' RPG texture pack - check the latest posts in the thread for the most up-to-date pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 6: Burn you hellish fiends! Burn!", "fd064ba1-7bda-4f3d-a250-3324e0ad47a8", 1, [], 672, false, "RJKl6htBbK4", "https://www.youtube.com/watch?v=RJKl6htBbK4", 33, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 6: Burn you hellish fiends! Burn!.mp4", false, false, false, 0, ~U[2011-01-07 21:28:19Z], ~U[2025-10-27 18:33:08Z], ~U[2025-10-27 18:33:08Z], "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) Dokus' RPG texture pack - check the latest posts in the thread for the most up-to-date pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 6: Burn you hellish fiends! Burn!", 1, 672, false, "RJKl6htBbK4", "https://www.youtube.com/watch?v=RJKl6htBbK4", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 6: Burn you hellish fiends! Burn!.mp4", false, ~U[2011-01-07 21:28:19Z]] 14:33:08.800 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms idle=568.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:33:08.800 [debug] Current batch of media processed. Will check again in 1000ms 14:33:09.801 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) Dokus' RPG texture pack - check the latest posts in the thread for the most up-to-date pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 828, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 7: You don't want to see me getting wool from a sheep!.mp4", "id" => "DyR0UcQN-1Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DyR0UcQN-1Q", "playlist_index" => 34, "timestamp" => 1294528261, "title" => "Minecraft - \"Survival Island\" Part 7: You don't want to see me getting wool from a sheep!", "upload_date" => "20110108"} 14:33:09.805 [debug] QUERY OK source="sources" db=3.1ms queue=0.1ms idle=1086.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:33:09.808 [debug] QUERY OK source="sources" db=2.6ms idle=1085.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:09.813 [debug] QUERY OK source="media_items" db=4.2ms queue=0.1ms idle=1011.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-08 23:11:01Z], 1] 14:33:09.898 [debug] QUERY OK source="media_items" db=84.0ms idle=1012.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) Dokus' RPG texture pack - check the latest posts in the thread for the most up-to-date pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 7: You don't want to see me getting wool from a sheep!", "b6fb49e2-bbd7-415c-90ff-930c59a6b89d", 1, [], 828, false, "DyR0UcQN-1Q", "https://www.youtube.com/watch?v=DyR0UcQN-1Q", 34, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 7: You don't want to see me getting wool from a sheep!.mp4", false, false, false, 0, ~U[2011-01-08 23:11:01Z], ~U[2025-10-27 18:33:09Z], ~U[2025-10-27 18:33:09Z], "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) Dokus' RPG texture pack - check the latest posts in the thread for the most up-to-date pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 7: You don't want to see me getting wool from a sheep!", 1, 828, false, "DyR0UcQN-1Q", "https://www.youtube.com/watch?v=DyR0UcQN-1Q", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 7: You don't want to see me getting wool from a sheep!.mp4", false, ~U[2011-01-08 23:11:01Z]] 14:33:09.901 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=665.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:33:09.901 [debug] Current batch of media processed. Will check again in 1000ms 14:33:10.902 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) (GERU)Dokus' RPG texture pack - new thread is here: http://www.minecraftforum.net/viewtopic.php?f=1021&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 942, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 8: help!.mp4", "id" => "VfT__rMmzDY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VfT__rMmzDY", "playlist_index" => 35, "timestamp" => 1294613734, "title" => "Minecraft - \"Survival Island\" Part 8: help!", "upload_date" => "20110109"} 14:33:10.906 [debug] QUERY OK source="sources" db=3.0ms queue=0.1ms idle=1094.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:10.910 [debug] QUERY OK source="sources" db=3.6ms queue=0.1ms idle=1093.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:10.915 [debug] QUERY OK source="media_items" db=4.3ms queue=0.1ms idle=1012.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-09 22:55:34Z], 1] 14:33:11.040 [debug] QUERY OK source="media_items" db=124.1ms idle=1014.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) (GERU)Dokus' RPG texture pack - new thread is here: http://www.minecraftforum.net/viewtopic.php?f=1021&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 8: help!", "c4e0e630-270b-4020-b1a2-dfd3488cc1dc", 1, [], 942, false, "VfT__rMmzDY", "https://www.youtube.com/watch?v=VfT__rMmzDY", 35, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 8: help!.mp4", false, false, false, 0, ~U[2011-01-09 22:55:34Z], ~U[2025-10-27 18:33:10Z], ~U[2025-10-27 18:33:10Z], "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) (GERU)Dokus' RPG texture pack - new thread is here: http://www.minecraftforum.net/viewtopic.php?f=1021&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 8: help!", 1, 942, false, "VfT__rMmzDY", "https://www.youtube.com/watch?v=VfT__rMmzDY", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 8: help!.mp4", false, ~U[2011-01-09 22:55:34Z]] 14:33:11.043 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=803.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:33:11.043 [debug] Current batch of media processed. Will check again in 1000ms 14:33:12.044 [debug] Current batch of media processed. Will check again in 1000ms 14:33:13.045 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) (GERU)Dokus' RPG texture pack - new thread is here: http://www.minecraftforum.net/viewtopic.php?f=1021&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 728, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 9: Challenges Complete!.mp4", "id" => "XD78zk7ke2s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XD78zk7ke2s", "playlist_index" => 36, "timestamp" => 1294698706, "title" => "Minecraft - \"Survival Island\" Part 9: Challenges Complete!", "upload_date" => "20110110"} 14:33:13.049 [debug] QUERY OK source="sources" db=3.2ms queue=0.1ms idle=1051.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:13.052 [debug] QUERY OK source="sources" db=2.8ms idle=1055.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:13.057 [debug] QUERY OK source="media_items" db=4.6ms idle=807.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-10 22:31:46Z], 1] 14:33:13.166 [debug] QUERY OK source="media_items" db=107.3ms idle=63.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) (GERU)Dokus' RPG texture pack - new thread is here: http://www.minecraftforum.net/viewtopic.php?f=1021&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 9: Challenges Complete!", "25df29d7-bc8e-4ccf-afa7-27f82ed9d5e7", 1, [], 728, false, "XD78zk7ke2s", "https://www.youtube.com/watch?v=XD78zk7ke2s", 36, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 9: Challenges Complete!.mp4", false, false, false, 0, ~U[2011-01-10 22:31:46Z], ~U[2025-10-27 18:33:13Z], ~U[2025-10-27 18:33:13Z], "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) (GERU)Dokus' RPG texture pack - new thread is here: http://www.minecraftforum.net/viewtopic.php?f=1021&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 9: Challenges Complete!", 1, 728, false, "XD78zk7ke2s", "https://www.youtube.com/watch?v=XD78zk7ke2s", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 9: Challenges Complete!.mp4", false, ~U[2011-01-10 22:31:46Z]] 14:33:13.169 [debug] QUERY OK source="sources" db=2.7ms idle=171.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:13.169 [debug] Current batch of media processed. Will check again in 1000ms 14:33:14.170 [debug] Current batch of media processed. Will check again in 1000ms 14:33:15.171 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) (GERU)Dokus' RPG texture pack - new thread is here: http://www.minecraftforum.net/viewtopic.php?f=1021&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 817, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 10: The Curator's Lost Treasure.mp4", "id" => "Rsz66Qqgd50", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Rsz66Qqgd50", "playlist_index" => 37, "timestamp" => 1294766296, "title" => "Minecraft - \"Survival Island\" Part 10: The Curator's Lost Treasure", "upload_date" => "20110111"} 14:33:15.175 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=916.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:15.178 [debug] QUERY OK source="sources" db=3.2ms queue=0.1ms idle=180.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:15.184 [debug] QUERY OK source="media_items" db=5.3ms idle=184.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-11 17:18:16Z], 1] 14:33:15.282 [debug] QUERY OK source="media_items" db=96.8ms queue=0.2ms idle=190.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) (GERU)Dokus' RPG texture pack - new thread is here: http://www.minecraftforum.net/viewtopic.php?f=1021&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 10: The Curator's Lost Treasure", "0b18a345-9c92-4c7e-80e4-61d850871499", 1, [], 817, false, "Rsz66Qqgd50", "https://www.youtube.com/watch?v=Rsz66Qqgd50", 37, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 10: The Curator's Lost Treasure.mp4", false, false, false, 0, ~U[2011-01-11 17:18:16Z], ~U[2025-10-27 18:33:15Z], ~U[2025-10-27 18:33:15Z], "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) (GERU)Dokus' RPG texture pack - new thread is here: http://www.minecraftforum.net/viewtopic.php?f=1021&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 10: The Curator's Lost Treasure", 1, 817, false, "Rsz66Qqgd50", "https://www.youtube.com/watch?v=Rsz66Qqgd50", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 10: The Curator's Lost Treasure.mp4", false, ~U[2011-01-11 17:18:16Z]] 14:33:15.285 [debug] QUERY OK source="sources" db=2.5ms 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] 14:33:15.285 [debug] Current batch of media processed. Will check again in 1000ms 14:33:16.286 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) (GERU)Dokus' RPG texture pack - new thread is here: http://www.minecraftforum.net/viewtopic.php?f=1021&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 1158, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 11: Up and away!.mp4", "id" => "ZvaOr6b9yYk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZvaOr6b9yYk", "playlist_index" => 38, "timestamp" => 1294863928, "title" => "Minecraft - \"Survival Island\" Part 11: Up and away!", "upload_date" => "20110112"} 14:33:16.290 [debug] QUERY OK source="sources" db=2.7ms queue=0.2ms idle=1108.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:16.293 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=1008.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:16.300 [debug] QUERY OK source="media_items" db=6.1ms idle=1008.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-12 20:25:28Z], 1] 14:33:16.391 [debug] QUERY OK source="media_items" db=90.4ms idle=1013.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) (GERU)Dokus' RPG texture pack - new thread is here: http://www.minecraftforum.net/viewtopic.php?f=1021&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 11: Up and away!", "5a6460cf-50bc-4cf6-a103-58eb43fbd7d4", 1, [], 1158, false, "ZvaOr6b9yYk", "https://www.youtube.com/watch?v=ZvaOr6b9yYk", 38, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 11: Up and away!.mp4", false, false, false, 0, ~U[2011-01-12 20:25:28Z], ~U[2025-10-27 18:33:16Z], ~U[2025-10-27 18:33:16Z], "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) (GERU)Dokus' RPG texture pack - new thread is here: http://www.minecraftforum.net/viewtopic.php?f=1021&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 11: Up and away!", 1, 1158, false, "ZvaOr6b9yYk", "https://www.youtube.com/watch?v=ZvaOr6b9yYk", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 11: Up and away!.mp4", false, ~U[2011-01-12 20:25:28Z]] 14:33:16.394 [debug] QUERY OK source="sources" db=2.4ms queue=0.1ms idle=101.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:33:16.394 [debug] Current batch of media processed. Will check again in 1000ms 14:33:17.395 [debug] Current batch of media processed. Will check again in 1000ms 14:33:18.396 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The heroes finally return home, after a gruelling period on the Survival Island - to find that the world they left behind has changed for the worse. They must gather what resources they have and set out on a new adventure!\n\nHuge thanks to Variede for the starting cutscene and bonus stuff, subscribe to his channel here! Very reasonable rates! http://www.youtube.com/vareide\n\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 869, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 1: Crash and Burn.mp4", "id" => "2Gi9-UZKYo4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2Gi9-UZKYo4", "playlist_index" => 39, "timestamp" => 1296163581, "title" => "Minecraft - \"Shadow of Israphel\" Part 1: Crash and Burn", "upload_date" => "20110127"} 14:33:18.401 [debug] QUERY OK source="sources" db=3.4ms queue=0.1ms idle=403.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:18.404 [debug] QUERY OK source="sources" db=2.8ms idle=407.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:18.411 [debug] QUERY OK source="media_items" db=6.2ms idle=410.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-27 21:26:21Z], 1] 14:33:18.534 [debug] QUERY OK source="media_items" db=122.1ms idle=417.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The heroes finally return home, after a gruelling period on the Survival Island - to find that the world they left behind has changed for the worse. They must gather what resources they have and set out on a new adventure!\n\nHuge thanks to Variede for the starting cutscene and bonus stuff, subscribe to his channel here! Very reasonable rates! http://www.youtube.com/vareide\n\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Part 1: Crash and Burn", "5d73cb2c-f531-422e-935c-873aef7d34e9", 1, [], 869, false, "2Gi9-UZKYo4", "https://www.youtube.com/watch?v=2Gi9-UZKYo4", 39, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 1: Crash and Burn.mp4", false, false, false, 0, ~U[2011-01-27 21:26:21Z], ~U[2025-10-27 18:33:18Z], ~U[2025-10-27 18:33:18Z], "The heroes finally return home, after a gruelling period on the Survival Island - to find that the world they left behind has changed for the worse. They must gather what resources they have and set out on a new adventure!\n\nHuge thanks to Variede for the starting cutscene and bonus stuff, subscribe to his channel here! Very reasonable rates! http://www.youtube.com/vareide\n\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Part 1: Crash and Burn", 1, 869, false, "2Gi9-UZKYo4", "https://www.youtube.com/watch?v=2Gi9-UZKYo4", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 1: Crash and Burn.mp4", false, ~U[2011-01-27 21:26:21Z]] 14:33:18.539 [debug] QUERY OK source="sources" db=4.6ms queue=0.1ms idle=233.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:18.539 [debug] Current batch of media processed. Will check again in 1000ms 14:33:19.540 [debug] Current batch of media processed. Will check again in 1000ms 14:33:20.541 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Reeling from the loss of the yogcave, Simon and Lewis set off down a broken road leading to a mysterious city. They must press on through the night, and more surprises await them!\n\nHuge thanks to Variede for the bonus cutscenes, subscribe to his channel here! Very reasonable rates! http://www.youtube.com/vareide\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "duration" => 806, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 2: The Road to Mistral.mp4", "id" => "FyR1QAHdAoE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=FyR1QAHdAoE", "playlist_index" => 40, "timestamp" => 1296250574, "title" => "Minecraft - \"Shadow of Israphel\" Part 2: The Road to Mistral", "upload_date" => "20110128"} 14:33:20.545 [debug] QUERY OK source="sources" db=3.0ms queue=0.1ms idle=547.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:20.548 [debug] QUERY OK source="sources" db=2.7ms idle=551.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:20.554 [debug] QUERY OK source="media_items" db=5.0ms queue=0.1ms idle=554.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-28 21:36:14Z], 1] 14:33:20.644 [debug] QUERY OK source="media_items" db=89.7ms idle=559.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Reeling from the loss of the yogcave, Simon and Lewis set off down a broken road leading to a mysterious city. They must press on through the night, and more surprises await them!\n\nHuge thanks to Variede for the bonus cutscenes, subscribe to his channel here! Very reasonable rates! http://www.youtube.com/vareide\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 2: The Road to Mistral", "78c4001d-6d17-4c7e-9676-9c53975dd143", 1, [], 806, false, "FyR1QAHdAoE", "https://www.youtube.com/watch?v=FyR1QAHdAoE", 40, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 2: The Road to Mistral.mp4", false, false, false, 0, ~U[2011-01-28 21:36:14Z], ~U[2025-10-27 18:33:20Z], ~U[2025-10-27 18:33:20Z], "Reeling from the loss of the yogcave, Simon and Lewis set off down a broken road leading to a mysterious city. They must press on through the night, and more surprises await them!\n\nHuge thanks to Variede for the bonus cutscenes, subscribe to his channel here! Very reasonable rates! http://www.youtube.com/vareide\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 2: The Road to Mistral", 1, 806, false, "FyR1QAHdAoE", "https://www.youtube.com/watch?v=FyR1QAHdAoE", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 2: The Road to Mistral.mp4", false, ~U[2011-01-28 21:36:14Z]] 14:33:20.647 [debug] QUERY OK source="sources" db=2.7ms idle=336.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:33:20.648 [debug] Current batch of media processed. Will check again in 1000ms 14:33:21.648 [debug] Current batch of media processed. Will check again in 1000ms 14:33:22.649 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Lysander gives the heroes a tour of Mistral City, and they meet a range of interesting new characters!\n\nPlease like and favourite to support this series! Huge thanks to Variede for the starting cutscene and bonus stuff, subscribe to his channel here! Very reasonable rates! http://www.youtube.com/vareide\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "duration" => 923, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 3: I DEMAND YOUR FINEST BACON!.mp4", "id" => "3JFSMR0ujgg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3JFSMR0ujgg", "playlist_index" => 41, "timestamp" => 1296337336, "title" => "Minecraft - \"Shadow of Israphel\" Part 3: I DEMAND YOUR FINEST BACON!", "upload_date" => "20110129"} 14:33:22.653 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms idle=655.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:22.656 [debug] QUERY OK source="sources" db=3.3ms idle=658.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:22.663 [debug] QUERY OK source="media_items" db=6.1ms queue=0.1ms idle=662.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-29 21:42:16Z], 1] 14:33:22.753 [debug] QUERY OK source="media_items" db=89.0ms queue=0.1ms idle=669.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Lysander gives the heroes a tour of Mistral City, and they meet a range of interesting new characters!\n\nPlease like and favourite to support this series! Huge thanks to Variede for the starting cutscene and bonus stuff, subscribe to his channel here! Very reasonable rates! http://www.youtube.com/vareide\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 3: I DEMAND YOUR FINEST BACON!", "318310b6-1760-4fca-91dd-5d514fddbb85", 1, [], 923, false, "3JFSMR0ujgg", "https://www.youtube.com/watch?v=3JFSMR0ujgg", 41, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 3: I DEMAND YOUR FINEST BACON!.mp4", false, false, false, 0, ~U[2011-01-29 21:42:16Z], ~U[2025-10-27 18:33:22Z], ~U[2025-10-27 18:33:22Z], "Lysander gives the heroes a tour of Mistral City, and they meet a range of interesting new characters!\n\nPlease like and favourite to support this series! Huge thanks to Variede for the starting cutscene and bonus stuff, subscribe to his channel here! Very reasonable rates! http://www.youtube.com/vareide\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 3: I DEMAND YOUR FINEST BACON!", 1, 923, false, "3JFSMR0ujgg", "https://www.youtube.com/watch?v=3JFSMR0ujgg", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 3: I DEMAND YOUR FINEST BACON!.mp4", false, ~U[2011-01-29 21:42:16Z]] 14:33:22.757 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=437.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:33:22.757 [debug] Current batch of media processed. Will check again in 1000ms 14:33:23.758 [debug] Current batch of media processed. Will check again in 1000ms 14:33:24.759 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The boys finally have some direction, and must seek out a secretive wizard to enlist his aid in curing the sickness that is paralysing Old Peculier.\n\nPlease like and favourite to support this series! Huge thanks to Variede for the starting cutscene and bonus stuff, subscribe to his channel here! Very reasonable rates! http://www.youtube.com/vareide\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "duration" => 1203, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 4: Proper Quest.mp4", "id" => "aLUcd9UDzuo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aLUcd9UDzuo", "playlist_index" => 42, "timestamp" => 1296423479, "title" => "Minecraft - \"Shadow of Israphel\" Part 4: Proper Quest", "upload_date" => "20110130"} 14:33:24.763 [debug] QUERY OK source="sources" db=3.6ms queue=0.1ms idle=765.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:24.767 [debug] QUERY OK source="sources" db=3.1ms queue=0.1ms idle=769.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:24.773 [debug] QUERY OK source="media_items" db=5.4ms queue=0.1ms idle=773.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-30 21:37:59Z], 1] 14:33:24.862 [debug] QUERY OK source="media_items" db=88.2ms idle=779.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The boys finally have some direction, and must seek out a secretive wizard to enlist his aid in curing the sickness that is paralysing Old Peculier.\n\nPlease like and favourite to support this series! Huge thanks to Variede for the starting cutscene and bonus stuff, subscribe to his channel here! Very reasonable rates! http://www.youtube.com/vareide\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 4: Proper Quest", "9840746b-b68d-497e-a709-53a9904b776d", 1, [], 1203, false, "aLUcd9UDzuo", "https://www.youtube.com/watch?v=aLUcd9UDzuo", 42, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 4: Proper Quest.mp4", false, false, false, 0, ~U[2011-01-30 21:37:59Z], ~U[2025-10-27 18:33:24Z], ~U[2025-10-27 18:33:24Z], "The boys finally have some direction, and must seek out a secretive wizard to enlist his aid in curing the sickness that is paralysing Old Peculier.\n\nPlease like and favourite to support this series! Huge thanks to Variede for the starting cutscene and bonus stuff, subscribe to his channel here! Very reasonable rates! http://www.youtube.com/vareide\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 4: Proper Quest", 1, 1203, false, "aLUcd9UDzuo", "https://www.youtube.com/watch?v=aLUcd9UDzuo", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 4: Proper Quest.mp4", false, ~U[2011-01-30 21:37:59Z]] 14:33:24.865 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=536.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:33:24.866 [debug] Current batch of media processed. Will check again in 1000ms 14:33:25.866 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon distracts Lysander while Lewis attempts to complete Fumblemore's quest. \n\nHuge thanks to Yognaut Michael for the intro splash, Variede for the bonus cutscenes and Lalna for all his hard work, help, and superb art. \n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "duration" => 911, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 5: Breakfast Distraction.mp4", "id" => "ahX3E1wr8SM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ahX3E1wr8SM", "playlist_index" => 43, "timestamp" => 1296510449, "title" => "Minecraft - \"Shadow of Israphel\" Part 5: Breakfast Distraction", "upload_date" => "20110131"} 14:33:25.870 [debug] QUERY OK source="sources" db=3.2ms queue=0.1ms idle=1099.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:33:25.873 [debug] QUERY OK source="sources" db=3.0ms queue=0.1ms idle=1097.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:25.880 [debug] QUERY OK source="media_items" db=5.8ms queue=0.1ms idle=1011.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-31 21:47:29Z], 1] 14:33:25.963 [debug] QUERY OK source="media_items" db=81.8ms queue=0.1ms idle=1015.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon distracts Lysander while Lewis attempts to complete Fumblemore's quest. \n\nHuge thanks to Yognaut Michael for the intro splash, Variede for the bonus cutscenes and Lalna for all his hard work, help, and superb art. \n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 5: Breakfast Distraction", "dfa4ee36-5ab7-4633-9dc5-0d6b23e302cc", 1, [], 911, false, "ahX3E1wr8SM", "https://www.youtube.com/watch?v=ahX3E1wr8SM", 43, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 5: Breakfast Distraction.mp4", false, false, false, 0, ~U[2011-01-31 21:47:29Z], ~U[2025-10-27 18:33:25Z], ~U[2025-10-27 18:33:25Z], "Simon distracts Lysander while Lewis attempts to complete Fumblemore's quest. \n\nHuge thanks to Yognaut Michael for the intro splash, Variede for the bonus cutscenes and Lalna for all his hard work, help, and superb art. \n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 5: Breakfast Distraction", 1, 911, false, "ahX3E1wr8SM", "https://www.youtube.com/watch?v=ahX3E1wr8SM", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 5: Breakfast Distraction.mp4", false, ~U[2011-01-31 21:47:29Z]] 14:33:25.966 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=633.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:33:25.966 [debug] Current batch of media processed. Will check again in 1000ms 14:33:26.967 [debug] Current batch of media processed. Will check again in 1000ms 14:33:27.968 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Lewis continues the search for Fumblemore's items, and the boys discover that obtaining an unusual item will be more dangerous than anyone could have expected.\n\nHuge thanks to Matthew McDonald for the superb intro splash: http://notherbear.deviantart.com\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "duration" => 936, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 6: Mission Impossible.mp4", "id" => "nzCYc8br0Mw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nzCYc8br0Mw", "playlist_index" => 44, "timestamp" => 1296600075, "title" => "Minecraft - \"Shadow of Israphel\" Part 6: Mission Impossible", "upload_date" => "20110201"} 14:33:27.971 [debug] QUERY OK source="sources" db=2.7ms idle=974.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:27.975 [debug] QUERY OK source="sources" db=3.2ms idle=977.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:27.980 [debug] QUERY OK source="media_items" db=5.1ms idle=981.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-02-01 22:41:15Z], 1] 14:33:28.057 [debug] QUERY OK source="media_items" db=75.9ms idle=986.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Lewis continues the search for Fumblemore's items, and the boys discover that obtaining an unusual item will be more dangerous than anyone could have expected.\n\nHuge thanks to Matthew McDonald for the superb intro splash: http://notherbear.deviantart.com\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 6: Mission Impossible", "44b0cc4a-172d-4c32-8e04-1c62a449d875", 1, [], 936, false, "nzCYc8br0Mw", "https://www.youtube.com/watch?v=nzCYc8br0Mw", 44, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 6: Mission Impossible.mp4", false, false, false, 0, ~U[2011-02-01 22:41:15Z], ~U[2025-10-27 18:33:27Z], ~U[2025-10-27 18:33:27Z], "Lewis continues the search for Fumblemore's items, and the boys discover that obtaining an unusual item will be more dangerous than anyone could have expected.\n\nHuge thanks to Matthew McDonald for the superb intro splash: http://notherbear.deviantart.com\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 6: Mission Impossible", 1, 936, false, "nzCYc8br0Mw", "https://www.youtube.com/watch?v=nzCYc8br0Mw", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 6: Mission Impossible.mp4", false, ~U[2011-02-01 22:41:15Z]] 14:33:28.060 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=704.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:33:28.061 [debug] Current batch of media processed. Will check again in 1000ms 14:33:29.061 [debug] Current batch of media processed. Will check again in 1000ms 14:33:30.062 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The boys make headway in their quest, albeit after taking some losses.\n\nPlease like and favourite to support this series! Huge thanks to Lalna, our genius artist and architect for the superb intro splash and pretty much everything else!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "duration" => 800, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 7: Reburglarize.mp4", "id" => "vvFgRcgQ0d4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vvFgRcgQ0d4", "playlist_index" => 45, "timestamp" => 1296683135, "title" => "Minecraft - \"Shadow of Israphel\" Part 7: Reburglarize", "upload_date" => "20110202"} 14:33:30.066 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=1068.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:30.069 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=1071.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:30.075 [debug] QUERY OK source="media_items" db=5.2ms queue=0.1ms idle=707.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-02-02 21:45:35Z], 1] 14:33:30.159 [debug] QUERY OK source="media_items" db=83.2ms idle=80.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The boys make headway in their quest, albeit after taking some losses.\n\nPlease like and favourite to support this series! Huge thanks to Lalna, our genius artist and architect for the superb intro splash and pretty much everything else!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 7: Reburglarize", "e5dad0dc-e9fb-470d-afb5-b86e9d8f6da6", 1, [], 800, false, "vvFgRcgQ0d4", "https://www.youtube.com/watch?v=vvFgRcgQ0d4", 45, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 7: Reburglarize.mp4", false, false, false, 0, ~U[2011-02-02 21:45:35Z], ~U[2025-10-27 18:33:30Z], ~U[2025-10-27 18:33:30Z], "The boys make headway in their quest, albeit after taking some losses.\n\nPlease like and favourite to support this series! Huge thanks to Lalna, our genius artist and architect for the superb intro splash and pretty much everything else!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 7: Reburglarize", 1, 800, false, "vvFgRcgQ0d4", "https://www.youtube.com/watch?v=vvFgRcgQ0d4", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 7: Reburglarize.mp4", false, ~U[2011-02-02 21:45:35Z]] 14:33:30.162 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=164.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:33:30.162 [debug] Current batch of media processed. Will check again in 1000ms 14:33:31.163 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "With Old Peculier back on his feet, the heroes are plunged into a new adventure, following in the footsteps of Peculier's missing father. \n\nHuge thanks to Lalna, our genius artist and architect for the superb intro splash and pretty much everything else!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "duration" => 795, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 8: Diggy Diggy Hole.mp4", "id" => "IK7hbdLgLOg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=IK7hbdLgLOg", "playlist_index" => 46, "timestamp" => 1296767803, "title" => "Minecraft - \"Shadow of Israphel\" Part 8: Diggy Diggy Hole", "upload_date" => "20110203"} 14:33:31.167 [debug] QUERY OK source="sources" db=3.0ms queue=0.1ms idle=1094.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:31.170 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=1092.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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.176 [debug] QUERY OK source="media_items" db=5.3ms idle=1012.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-02-03 21:16:43Z], 1] 14:33:31.259 [debug] QUERY OK source="media_items" db=81.8ms idle=1014.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["With Old Peculier back on his feet, the heroes are plunged into a new adventure, following in the footsteps of Peculier's missing father. \n\nHuge thanks to Lalna, our genius artist and architect for the superb intro splash and pretty much everything else!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 8: Diggy Diggy Hole", "898a56ac-4c78-40b8-8a41-1cfbaade4d2b", 1, [], 795, false, "IK7hbdLgLOg", "https://www.youtube.com/watch?v=IK7hbdLgLOg", 46, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 8: Diggy Diggy Hole.mp4", false, false, false, 0, ~U[2011-02-03 21:16:43Z], ~U[2025-10-27 18:33:31Z], ~U[2025-10-27 18:33:31Z], "With Old Peculier back on his feet, the heroes are plunged into a new adventure, following in the footsteps of Peculier's missing father. \n\nHuge thanks to Lalna, our genius artist and architect for the superb intro splash and pretty much everything else!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 8: Diggy Diggy Hole", 1, 795, false, "IK7hbdLgLOg", "https://www.youtube.com/watch?v=IK7hbdLgLOg", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 8: Diggy Diggy Hole.mp4", false, ~U[2011-02-03 21:16:43Z]] 14:33:31.262 [debug] QUERY OK source="sources" db=3.0ms queue=0.1ms idle=892.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:33:31.263 [debug] Current batch of media processed. Will check again in 1000ms 14:33:32.263 [debug] Current batch of media processed. Will check again in 1000ms 14:33:32.732 [info] {"source":"oban","duration":4555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:33.264 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon and Lewis investigate a long-abandoned mineshaft and discover a terrible secret. Please like and favourite to support this series! Huge thanks to Blake Evans, for the utterly epic conclusion.\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "duration" => 729, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 9: The Abandoned Mine.mp4", "id" => "Whj0mA330pQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Whj0mA330pQ", "playlist_index" => 47, "timestamp" => 1296855735, "title" => "Minecraft - \"Shadow of Israphel\" Part 9: The Abandoned Mine", "upload_date" => "20110204"} 14:33:33.268 [debug] QUERY OK source="sources" db=3.3ms idle=885.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:33.273 [debug] QUERY OK source="sources" db=4.3ms queue=0.1ms idle=536.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:33.286 [debug] QUERY OK source="media_items" db=12.3ms queue=0.1ms idle=279.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-02-04 21:42:15Z], 1] 14:33:33.372 [debug] QUERY OK source="media_items" db=84.6ms queue=0.1ms idle=292.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis investigate a long-abandoned mineshaft and discover a terrible secret. Please like and favourite to support this series! Huge thanks to Blake Evans, for the utterly epic conclusion.\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - \"Shadow of Israphel\" Part 9: The Abandoned Mine", "c198f7f3-b864-44cd-bdde-ff1fe3f7f790", 1, [], 729, false, "Whj0mA330pQ", "https://www.youtube.com/watch?v=Whj0mA330pQ", 47, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 9: The Abandoned Mine.mp4", false, false, false, 0, ~U[2011-02-04 21:42:15Z], ~U[2025-10-27 18:33:33Z], ~U[2025-10-27 18:33:33Z], "Simon and Lewis investigate a long-abandoned mineshaft and discover a terrible secret. Please like and favourite to support this series! Huge thanks to Blake Evans, for the utterly epic conclusion.\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - \"Shadow of Israphel\" Part 9: The Abandoned Mine", 1, 729, false, "Whj0mA330pQ", "https://www.youtube.com/watch?v=Whj0mA330pQ", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 9: The Abandoned Mine.mp4", false, ~U[2011-02-04 21:42:15Z]] 14:33:33.375 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms 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] 14:33:33.375 [debug] Current batch of media processed. Will check again in 1000ms 14:33:34.376 [debug] Current batch of media processed. Will check again in 1000ms 14:33:35.377 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Please like and favourite to support this series!\n\nTitle Splashscreen by Indignation: http://browse.deviantart.com/?qh=§ion=&q=honeydew+flint+and+steel#/d38rhl5\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "duration" => 1022, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 10: Revelations.mp4", "id" => "E_sIiQdHOrA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=E_sIiQdHOrA", "playlist_index" => 48, "timestamp" => 1297202212, "title" => "Minecraft - \"Shadow of Israphel\" Part 10: Revelations", "upload_date" => "20110208"} 14:33:35.381 [debug] QUERY OK source="sources" db=3.4ms queue=0.1ms idle=989.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:35.384 [debug] QUERY OK source="sources" db=2.2ms idle=387.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:35.390 [debug] QUERY OK source="media_items" db=5.5ms idle=390.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-02-08 21:56:52Z], 1] 14:33:35.484 [debug] QUERY OK source="media_items" db=93.8ms idle=396.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Please like and favourite to support this series!\n\nTitle Splashscreen by Indignation: http://browse.deviantart.com/?qh=§ion=&q=honeydew+flint+and+steel#/d38rhl5\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 10: Revelations", "555cfa67-ae3f-4900-bfb1-9b0d62cbf895", 1, [], 1022, false, "E_sIiQdHOrA", "https://www.youtube.com/watch?v=E_sIiQdHOrA", 48, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 10: Revelations.mp4", false, false, false, 0, ~U[2011-02-08 21:56:52Z], ~U[2025-10-27 18:33:35Z], ~U[2025-10-27 18:33:35Z], "Please like and favourite to support this series!\n\nTitle Splashscreen by Indignation: http://browse.deviantart.com/?qh=§ion=&q=honeydew+flint+and+steel#/d38rhl5\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 10: Revelations", 1, 1022, false, "E_sIiQdHOrA", "https://www.youtube.com/watch?v=E_sIiQdHOrA", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 10: Revelations.mp4", false, ~U[2011-02-08 21:56:52Z]] 14:33:35.488 [debug] QUERY OK source="sources" db=2.7ms idle=103.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:35.488 [debug] Current batch of media processed. Will check again in 1000ms 14:33:36.489 [debug] Current batch of media processed. Will check again in 1000ms 14:33:37.490 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Please like and favourite to support this series!\n\nTitle Splashscreen by Snekcid: http://snekcid.deviantart.com/gallery/#/d391mlb\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "duration" => 1179, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 11: The Crumbling Ruin.mp4", "id" => "80GSvackaxk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=80GSvackaxk", "playlist_index" => 49, "timestamp" => 1297368974, "title" => "Minecraft - \"Shadow of Israphel\" Part 11: The Crumbling Ruin", "upload_date" => "20110210"} 14:33:37.494 [debug] QUERY OK source="sources" db=3.7ms idle=496.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:37.503 [debug] QUERY OK source="sources" db=8.3ms idle=500.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:37.512 [debug] QUERY OK source="media_items" db=7.9ms idle=509.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-02-10 20:16:14Z], 1] 14:33:37.635 [debug] QUERY OK source="media_items" db=121.3ms queue=0.2ms idle=518.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Please like and favourite to support this series!\n\nTitle Splashscreen by Snekcid: http://snekcid.deviantart.com/gallery/#/d391mlb\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 11: The Crumbling Ruin", "ed6b7932-6d19-4339-b870-99103f30ab73", 1, [], 1179, false, "80GSvackaxk", "https://www.youtube.com/watch?v=80GSvackaxk", 49, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 11: The Crumbling Ruin.mp4", false, false, false, 0, ~U[2011-02-10 20:16:14Z], ~U[2025-10-27 18:33:37Z], ~U[2025-10-27 18:33:37Z], "Please like and favourite to support this series!\n\nTitle Splashscreen by Snekcid: http://snekcid.deviantart.com/gallery/#/d391mlb\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 11: The Crumbling Ruin", 1, 1179, false, "80GSvackaxk", "https://www.youtube.com/watch?v=80GSvackaxk", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 11: The Crumbling Ruin.mp4", false, ~U[2011-02-10 20:16:14Z]] 14:33:37.638 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=234.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:33:37.638 [debug] Current batch of media processed. Will check again in 1000ms 14:33:38.639 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Please like and favourite to support this series!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "duration" => 1005, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 12: Beyond Skull Pass.mp4", "id" => "3vcnhbHtwJ0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3vcnhbHtwJ0", "playlist_index" => 50, "timestamp" => 1298844150, "title" => "Minecraft - \"Shadow of Israphel\" Part 12: Beyond Skull Pass", "upload_date" => "20110227"} 14:33:38.643 [debug] QUERY OK source="sources" db=3.2ms queue=0.1ms idle=1136.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:38.646 [debug] QUERY OK source="sources" db=2.9ms idle=1131.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:38.653 [debug] QUERY OK source="media_items" db=6.3ms queue=0.1ms idle=1012.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-02-27 22:02:30Z], 1] 14:33:38.760 [debug] QUERY OK source="media_items" db=106.0ms idle=1016.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Please like and favourite to support this series!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - \"Shadow of Israphel\" Part 12: Beyond Skull Pass", "856f4c86-6430-4c9c-942e-99cc1444379b", 1, [], 1005, false, "3vcnhbHtwJ0", "https://www.youtube.com/watch?v=3vcnhbHtwJ0", 50, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 12: Beyond Skull Pass.mp4", false, false, false, 0, ~U[2011-02-27 22:02:30Z], ~U[2025-10-27 18:33:38Z], ~U[2025-10-27 18:33:38Z], "Please like and favourite to support this series!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - \"Shadow of Israphel\" Part 12: Beyond Skull Pass", 1, 1005, false, "3vcnhbHtwJ0", "https://www.youtube.com/watch?v=3vcnhbHtwJ0", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 12: Beyond Skull Pass.mp4", false, ~U[2011-02-27 22:02:30Z]] 14:33:38.764 [debug] QUERY OK source="sources" db=3.2ms idle=355.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:33:38.764 [debug] Current batch of media processed. Will check again in 1000ms 14:33:39.765 [debug] Current batch of media processed. Will check again in 1000ms 14:33:40.766 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Please like and favourite to support this series!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "duration" => 1028, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 13: World's Strongest Dwarf.mp4", "id" => "8kJRzEfs1qQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8kJRzEfs1qQ", "playlist_index" => 51, "timestamp" => 1299017379, "title" => "Minecraft - \"Shadow of Israphel\" Part 13: World's Strongest Dwarf", "upload_date" => "20110301"} 14:33:40.770 [debug] QUERY OK source="sources" db=3.2ms queue=0.1ms idle=772.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:40.774 [debug] QUERY OK source="sources" db=3.0ms idle=776.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:40.781 [debug] QUERY OK source="media_items" db=6.6ms idle=779.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-03-01 22:09:39Z], 1] 14:33:40.903 [debug] QUERY OK source="media_items" db=121.2ms idle=787.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Please like and favourite to support this series!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 13: World's Strongest Dwarf", "646ec09d-9879-4c60-8d87-ac4fe9ad3334", 1, [], 1028, false, "8kJRzEfs1qQ", "https://www.youtube.com/watch?v=8kJRzEfs1qQ", 51, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 13: World's Strongest Dwarf.mp4", false, false, false, 0, ~U[2011-03-01 22:09:39Z], ~U[2025-10-27 18:33:40Z], ~U[2025-10-27 18:33:40Z], "Please like and favourite to support this series!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 13: World's Strongest Dwarf", 1, 1028, false, "8kJRzEfs1qQ", "https://www.youtube.com/watch?v=8kJRzEfs1qQ", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 13: World's Strongest Dwarf.mp4", false, ~U[2011-03-01 22:09:39Z]] 14:33:40.906 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms idle=489.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:33:40.907 [debug] Current batch of media processed. Will check again in 1000ms 14:33:41.908 [debug] Current batch of media processed. Will check again in 1000ms 14:33:42.909 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Please like and favourite to support this series!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "duration" => 570, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 14: The Tale of the Sands.mp4", "id" => "qyatdrTB3i0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qyatdrTB3i0", "playlist_index" => 52, "timestamp" => 1299187681, "title" => "Minecraft - \"Shadow of Israphel\" Part 14: The Tale of the Sands", "upload_date" => "20110303"} 14:33:42.913 [debug] QUERY OK source="sources" db=3.2ms queue=0.1ms idle=915.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:42.916 [debug] QUERY OK source="sources" db=3.0ms idle=919.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:42.922 [debug] QUERY OK source="media_items" db=5.6ms queue=0.1ms idle=922.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-03-03 21:28:01Z], 1] 14:33:43.004 [debug] QUERY OK source="media_items" db=80.3ms idle=928.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Please like and favourite to support this series!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - \"Shadow of Israphel\" Part 14: The Tale of the Sands", "5a8a53b6-3226-4623-80c4-57597972220a", 1, [], 570, false, "qyatdrTB3i0", "https://www.youtube.com/watch?v=qyatdrTB3i0", 52, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 14: The Tale of the Sands.mp4", false, false, false, 0, ~U[2011-03-03 21:28:01Z], ~U[2025-10-27 18:33:42Z], ~U[2025-10-27 18:33:42Z], "Please like and favourite to support this series!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - \"Shadow of Israphel\" Part 14: The Tale of the Sands", 1, 570, false, "qyatdrTB3i0", "https://www.youtube.com/watch?v=qyatdrTB3i0", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 14: The Tale of the Sands.mp4", false, ~U[2011-03-03 21:28:01Z]] 14:33:43.007 [debug] QUERY OK source="sources" db=2.7ms idle=581.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:43.007 [debug] Current batch of media processed. Will check again in 1000ms 14:33:44.008 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Please like and favourite to support this series!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "duration" => 1189, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 15: The Battle of the Breach.mp4", "id" => "k-LoFJrez1A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=k-LoFJrez1A", "playlist_index" => 53, "timestamp" => 1299362852, "title" => "Minecraft - \"Shadow of Israphel\" Part 15: The Battle of the Breach", "upload_date" => "20110305"} 14:33:44.011 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=1005.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:44.015 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=1005.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:44.022 [debug] QUERY OK source="media_items" db=6.9ms idle=586.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-03-05 22:07:32Z], 1] 14:33:44.104 [debug] QUERY OK source="media_items" db=81.5ms idle=28.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Please like and favourite to support this series!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 15: The Battle of the Breach", "29e32fb1-1886-450c-b6b9-c9d5a4b0b82f", 1, [], 1189, false, "k-LoFJrez1A", "https://www.youtube.com/watch?v=k-LoFJrez1A", 53, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 15: The Battle of the Breach.mp4", false, false, false, 0, ~U[2011-03-05 22:07:32Z], ~U[2025-10-27 18:33:44Z], ~U[2025-10-27 18:33:44Z], "Please like and favourite to support this series!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 15: The Battle of the Breach", 1, 1189, false, "k-LoFJrez1A", "https://www.youtube.com/watch?v=k-LoFJrez1A", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 15: The Battle of the Breach.mp4", false, ~U[2011-03-05 22:07:32Z]] 14:33:44.108 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=110.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:44.108 [debug] Current batch of media processed. Will check again in 1000ms 14:33:45.071 [info] GET /media_profiles 14:33:45.071 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 14:33:45.076 [debug] QUERY OK source="media_profiles" db=2.8ms queue=0.3ms idle=1058.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:33:45.079 [debug] QUERY OK source="settings" db=2.4ms idle=1055.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:45.082 [debug] QUERY OK source="settings" db=2.2ms idle=975.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:45.085 [debug] QUERY OK source="settings" db=2.5ms idle=975.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:45.089 [info] Sent 200 in 18ms 14:33:45.109 [debug] Current batch of media processed. Will check again in 1000ms 14:33:45.196 [info] CONNECTED TO Phoenix.LiveView.Socket in 39µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "a0MSDjEdfVwUJg1IOSdxDTB0KQFsCDkNS2virdM9CJLpIoDfb-Ld4oUO", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:33:45.206 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:33:45.207 [debug] Replied in 219µs 14:33:46.110 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Please like and favourite to support this series! This is the last episode of our main storyline for at least a week or two! We've got a fair bit of stuff on over the next week but you can expect more minecraft filler in the form of custom maps and mod spotlights!! :)\n\nTitle Splashscreen by CryoSignal: http://cryosignal.deviantart.com/gallery/?offset=0#/d3g4wzw\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "duration" => 1368, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 16: A Beacon of Hope.mp4", "id" => "3071VQtKEAE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3071VQtKEAE", "playlist_index" => 54, "timestamp" => 1299540094, "title" => "Minecraft - \"Shadow of Israphel\" Part 16: A Beacon of Hope", "upload_date" => "20110307"} 14:33:46.115 [debug] QUERY OK source="sources" db=3.7ms queue=0.1ms idle=1034.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:46.118 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=1035.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:46.124 [debug] QUERY OK source="media_items" db=5.4ms decode=0.1ms idle=1036.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-03-07 23:21:34Z], 1] 14:33:46.210 [debug] QUERY OK source="media_items" db=85.1ms idle=1039.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Please like and favourite to support this series! This is the last episode of our main storyline for at least a week or two! We've got a fair bit of stuff on over the next week but you can expect more minecraft filler in the form of custom maps and mod spotlights!! :)\n\nTitle Splashscreen by CryoSignal: http://cryosignal.deviantart.com/gallery/?offset=0#/d3g4wzw\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 16: A Beacon of Hope", "506e7c3f-d9ff-4ee1-9d4e-3dbcab6d0433", 1, [], 1368, false, "3071VQtKEAE", "https://www.youtube.com/watch?v=3071VQtKEAE", 54, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 16: A Beacon of Hope.mp4", false, false, false, 0, ~U[2011-03-07 23:21:34Z], ~U[2025-10-27 18:33:46Z], ~U[2025-10-27 18:33:46Z], "Please like and favourite to support this series! This is the last episode of our main storyline for at least a week or two! We've got a fair bit of stuff on over the next week but you can expect more minecraft filler in the form of custom maps and mod spotlights!! :)\n\nTitle Splashscreen by CryoSignal: http://cryosignal.deviantart.com/gallery/?offset=0#/d3g4wzw\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 16: A Beacon of Hope", 1, 1368, false, "3071VQtKEAE", "https://www.youtube.com/watch?v=3071VQtKEAE", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 16: A Beacon of Hope.mp4", false, ~U[2011-03-07 23:21:34Z]] 14:33:46.214 [debug] QUERY OK source="sources" db=3.5ms queue=0.1ms idle=774.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:33:46.214 [debug] Current batch of media processed. Will check again in 1000ms 14:33:46.676 [info] GET /media_profiles/1 14:33:46.676 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:33:46.681 [debug] QUERY OK source="media_profiles" db=3.4ms queue=0.4ms idle=559.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:33:46.686 [debug] QUERY OK source="sources" db=4.1ms queue=0.6ms idle=557.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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:33:46.690 [debug] QUERY OK source="settings" db=3.3ms queue=0.1ms idle=476.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:46.695 [debug] QUERY OK source="settings" db=4.8ms queue=0.1ms idle=476.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:46.702 [debug] QUERY OK source="settings" db=6.2ms queue=0.1ms idle=254.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:46.705 [info] Sent 200 in 29ms 14:33:46.800 [info] CONNECTED TO Phoenix.LiveView.Socket in 48µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "CUM7FzopBjUdVDZ0JD5CBhlhXSMrAx8k12_pyP6PJ8wLTvwmK88Fsdsf", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:33:46.867 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:33:46.867 [debug] Replied in 216µs 14:33:47.215 [debug] Current batch of media processed. Will check again in 1000ms 14:33:47.422 [info] GET /media_profiles/1 14:33:47.422 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:33:47.425 [debug] QUERY OK source="media_profiles" db=2.7ms idle=741.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:33:47.428 [debug] QUERY OK source="sources" db=2.8ms idle=739.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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:33:47.432 [debug] QUERY OK source="settings" db=3.0ms idle=739.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:47.441 [debug] QUERY OK source="settings" db=8.8ms idle=737.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:47.444 [debug] QUERY OK source="settings" db=2.5ms idle=739.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:47.447 [info] Sent 200 in 24ms 14:33:48.216 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A special one-off livestreamed event, where fifteen lucky yognauts from our forums were chosen to attend a special service in memory of Granny Bacon! :) \n\nSpecial thanks go out to peva3 for running the livestream of the event, Bobby and Krippner for their fan-made map and everyone who was able to attend!\n\nThanks muchly to Daniel Yount for the use of his amazing music: http://audiograve.bandcamp.com/\n\nShadow of Israphel proper should resume soon. I'll let you know more details later.", "duration" => 1482, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Granny Bacon's Funeral (Shadow of Israphel Special).mp4", "id" => "cg9zPvYWI9Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cg9zPvYWI9Q", "playlist_index" => 55, "timestamp" => 1300840662, "title" => "Minecraft - Granny Bacon's Funeral (Shadow of Israphel Special)", "upload_date" => "20110323"} 14:33:48.220 [debug] QUERY OK source="sources" db=3.2ms idle=788.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:48.223 [debug] QUERY OK source="sources" db=3.0ms idle=788.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:48.232 [debug] QUERY OK source="media_items" db=7.7ms idle=782.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-03-23 00:37:42Z], 1] 14:33:48.308 [debug] QUERY OK source="media_items" db=75.8ms idle=787.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A special one-off livestreamed event, where fifteen lucky yognauts from our forums were chosen to attend a special service in memory of Granny Bacon! :) \n\nSpecial thanks go out to peva3 for running the livestream of the event, Bobby and Krippner for their fan-made map and everyone who was able to attend!\n\nThanks muchly to Daniel Yount for the use of his amazing music: http://audiograve.bandcamp.com/\n\nShadow of Israphel proper should resume soon. I'll let you know more details later.", "Minecraft - Granny Bacon's Funeral (Shadow of Israphel Special)", "39123f4a-b196-4943-8297-506461d63df7", 1, [], 1482, false, "cg9zPvYWI9Q", "https://www.youtube.com/watch?v=cg9zPvYWI9Q", 55, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Granny Bacon's Funeral (Shadow of Israphel Special).mp4", false, false, false, 0, ~U[2011-03-23 00:37:42Z], ~U[2025-10-27 18:33:48Z], ~U[2025-10-27 18:33:48Z], "A special one-off livestreamed event, where fifteen lucky yognauts from our forums were chosen to attend a special service in memory of Granny Bacon! :) \n\nSpecial thanks go out to peva3 for running the livestream of the event, Bobby and Krippner for their fan-made map and everyone who was able to attend!\n\nThanks muchly to Daniel Yount for the use of his amazing music: http://audiograve.bandcamp.com/\n\nShadow of Israphel proper should resume soon. I'll let you know more details later.", "Minecraft - Granny Bacon's Funeral (Shadow of Israphel Special)", 1, 1482, false, "cg9zPvYWI9Q", "https://www.youtube.com/watch?v=cg9zPvYWI9Q", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Granny Bacon's Funeral (Shadow of Israphel Special).mp4", false, ~U[2011-03-23 00:37:42Z]] 14:33:48.312 [debug] QUERY OK source="sources" db=3.0ms idle=862.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:33:48.312 [debug] Current batch of media processed. Will check again in 1000ms 14:33:49.284 [info] GET /media_profiles/1/edit 14:33:49.285 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:33:49.291 [debug] QUERY OK source="media_profiles" db=6.3ms queue=0.1ms idle=1061.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:33:49.297 [debug] QUERY OK source="settings" db=4.1ms queue=0.4ms idle=1060.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.300 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=989.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.304 [debug] QUERY OK source="settings" db=3.2ms idle=989.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.308 [info] Sent 200 in 23ms 14:33:49.313 [debug] Current batch of media processed. Will check again in 1000ms 14:33:49.498 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DS4AUxUvAxYaOitcNQwEByEeFTY1LQAB5_d4VV3sMVjdED1lsGpSmJlC", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:33:49.514 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:33:49.514 [debug] Replied in 152µs 14:33:50.314 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "With a new quest - to find pieces of Karpath's legendary map - Simon and Lewis return to Minecraftia and resume their adventures!\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "duration" => 1091, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 17: The Fragmented Map.mp4", "id" => "Q_NuUsLT720", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Q_NuUsLT720", "playlist_index" => 56, "timestamp" => 1301950677, "title" => "Minecraft - \"Shadow of Israphel\" Part 17: The Fragmented Map", "upload_date" => "20110404"} 14:33:50.318 [debug] QUERY OK source="sources" db=3.0ms idle=1023.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:50.321 [debug] QUERY OK source="sources" db=3.0ms idle=1021.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:50.328 [debug] QUERY OK source="media_items" db=6.6ms queue=0.1ms idle=1021.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-04-04 20:57:57Z], 1] 14:33:50.409 [debug] QUERY OK source="media_items" db=79.3ms idle=1024.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["With a new quest - to find pieces of Karpath's legendary map - Simon and Lewis return to Minecraftia and resume their adventures!\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - \"Shadow of Israphel\" Part 17: The Fragmented Map", "22b9a15f-5e1a-47e9-8ad9-e03640fd4af3", 1, [], 1091, false, "Q_NuUsLT720", "https://www.youtube.com/watch?v=Q_NuUsLT720", 56, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 17: The Fragmented Map.mp4", false, false, false, 0, ~U[2011-04-04 20:57:57Z], ~U[2025-10-27 18:33:50Z], ~U[2025-10-27 18:33:50Z], "With a new quest - to find pieces of Karpath's legendary map - Simon and Lewis return to Minecraftia and resume their adventures!\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - \"Shadow of Israphel\" Part 17: The Fragmented Map", 1, 1091, false, "Q_NuUsLT720", "https://www.youtube.com/watch?v=Q_NuUsLT720", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 17: The Fragmented Map.mp4", false, ~U[2011-04-04 20:57:57Z]] 14:33:50.412 [debug] QUERY OK source="sources" db=2.5ms idle=954.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:33:50.412 [debug] Current batch of media processed. Will check again in 1000ms 14:33:51.163 [info] GET /media_profiles/1/edit 14:33:51.164 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:33:51.167 [debug] QUERY OK source="media_profiles" db=3.3ms idle=842.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:33:51.171 [debug] QUERY OK source="settings" db=3.1ms idle=839.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:51.174 [debug] QUERY OK source="settings" db=2.1ms idle=762.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:51.176 [debug] QUERY OK source="settings" db=2.1ms 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 [] 14:33:51.179 [info] Sent 200 in 15ms 14:33:51.413 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "With a new quest - to find pieces of Karpath's legendary map - Simon and Lewis return to Minecraftia and resume their adventures!\n\nTitle Splashscreen by Xric: http://browse.deviantart.com/?q=honeydew%20yogscast&order=9&offset=144#/d3auq9z", "duration" => 816, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 18: Swampy Away!.mp4", "id" => "paYXaME_0Fc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=paYXaME_0Fc", "playlist_index" => 57, "timestamp" => 1302123670, "title" => "Minecraft - \"Shadow of Israphel\" Part 18: Swampy Away!", "upload_date" => "20110406"} 14:33:51.417 [debug] QUERY OK source="sources" db=3.4ms 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" IN (?)) [1] 14:33:51.421 [debug] QUERY OK source="sources" db=3.4ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:51.429 [debug] QUERY OK source="media_items" db=7.1ms idle=250.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-04-06 21:01:10Z], 1] 14:33:51.494 [debug] QUERY OK source="media_items" db=64.1ms idle=255.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["With a new quest - to find pieces of Karpath's legendary map - Simon and Lewis return to Minecraftia and resume their adventures!\n\nTitle Splashscreen by Xric: http://browse.deviantart.com/?q=honeydew%20yogscast&order=9&offset=144#/d3auq9z", "Minecraft - \"Shadow of Israphel\" Part 18: Swampy Away!", "1ff61763-5095-43cd-b5fe-1bb338fd53ae", 1, [], 816, false, "paYXaME_0Fc", "https://www.youtube.com/watch?v=paYXaME_0Fc", 57, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 18: Swampy Away!.mp4", false, false, false, 0, ~U[2011-04-06 21:01:10Z], ~U[2025-10-27 18:33:51Z], ~U[2025-10-27 18:33:51Z], "With a new quest - to find pieces of Karpath's legendary map - Simon and Lewis return to Minecraftia and resume their adventures!\n\nTitle Splashscreen by Xric: http://browse.deviantart.com/?q=honeydew%20yogscast&order=9&offset=144#/d3auq9z", "Minecraft - \"Shadow of Israphel\" Part 18: Swampy Away!", 1, 816, false, "paYXaME_0Fc", "https://www.youtube.com/watch?v=paYXaME_0Fc", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 18: Swampy Away!.mp4", false, ~U[2011-04-06 21:01:10Z]] 14:33:51.501 [debug] QUERY OK source="sources" db=6.6ms idle=76.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:51.501 [debug] Current batch of media processed. Will check again in 1000ms 14:33:52.502 [debug] Current batch of media processed. Will check again in 1000ms 14:33:53.503 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Arriving at a strange harbour town, the heroes must continue their quest for pieces of Karpath's legendary map - that will lead the way to defeating an ancient evil under the sands!", "duration" => 1052, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 19: The Pirates of BBQ Bay.mp4", "id" => "a1A-mRN6_Q0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=a1A-mRN6_Q0", "playlist_index" => 58, "timestamp" => 1302293944, "title" => "Minecraft - \"Shadow of Israphel\" Part 19: The Pirates of BBQ Bay", "upload_date" => "20110408"} 14:33:53.508 [debug] QUERY OK source="sources" db=4.0ms queue=0.1ms idle=995.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:53.513 [debug] QUERY OK source="sources" db=4.5ms queue=0.2ms idle=511.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:53.522 [debug] QUERY OK source="media_items" db=7.9ms queue=0.1ms idle=517.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-04-08 20:19:04Z], 1] 14:33:53.607 [debug] QUERY OK source="media_items" db=84.2ms idle=525.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Arriving at a strange harbour town, the heroes must continue their quest for pieces of Karpath's legendary map - that will lead the way to defeating an ancient evil under the sands!", "Minecraft - \"Shadow of Israphel\" Part 19: The Pirates of BBQ Bay", "85836521-44e4-4819-bdd2-3c049adf1c54", 1, [], 1052, false, "a1A-mRN6_Q0", "https://www.youtube.com/watch?v=a1A-mRN6_Q0", 58, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 19: The Pirates of BBQ Bay.mp4", false, false, false, 0, ~U[2011-04-08 20:19:04Z], ~U[2025-10-27 18:33:53Z], ~U[2025-10-27 18:33:53Z], "Arriving at a strange harbour town, the heroes must continue their quest for pieces of Karpath's legendary map - that will lead the way to defeating an ancient evil under the sands!", "Minecraft - \"Shadow of Israphel\" Part 19: The Pirates of BBQ Bay", 1, 1052, false, "a1A-mRN6_Q0", "https://www.youtube.com/watch?v=a1A-mRN6_Q0", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 19: The Pirates of BBQ Bay.mp4", false, ~U[2011-04-08 20:19:04Z]] 14:33:53.611 [debug] QUERY OK source="sources" db=4.0ms idle=99.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:53.612 [debug] Current batch of media processed. Will check again in 1000ms 14:33:54.613 [debug] Current batch of media processed. Will check again in 1000ms 14:33:55.615 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Highlights from the charity yogscast special which was livestreamed to raise money for Child's Play. Over the duration of our 4-hour stream this weekend, you guys helped donate over $15,000 to push the total raised to over $30,000 as of Sunday night! \n\nThe aim is to hit $50,000 by the end of the month - a fantastic and worthwhile goal - so please diggy diggy your pockets and make a donation here: http://qubetubers.chipin.com/childs-play\n\nSpecial thanks go out to our very own Bjornar (yogscast web-guru Tinman, who is also present in this adventure as Spacker_LeChuck) for his donation of $1337 during the stream, which pushed us over the $26,000 milestone and allowed us to stream for two hours longer than we had planned!\n\nThanks also go out to Pat (peva3) for working so hard to run the livestream (playing Granny_Bacon as the livestream camera) - Ditto and Krippner for their awesome fan-made map and storyline, and everyone else who was able to attend! In addition - thanks to all the other amazing youtubers and streamers who took time out of their schedules to continue to make this amazing event a success! Here's to many more in the future!\n\nThanks muchly to Daniel Yount for the use of his amazing music: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "duration" => 1124, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - The Legend of Verigan, Part 1 (Shadow of Israphel Special).mp4", "id" => "Y7Qk2evomg8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Y7Qk2evomg8", "playlist_index" => 59, "timestamp" => 1302560624, "title" => "Minecraft - The Legend of Verigan, Part 1 (Shadow of Israphel Special)", "upload_date" => "20110411"} 14:33:55.619 [debug] QUERY OK source="sources" db=2.9ms idle=620.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:55.623 [debug] QUERY OK source="sources" db=2.7ms idle=624.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:55.629 [debug] QUERY OK source="media_items" db=6.0ms idle=627.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-04-11 22:23:44Z], 1] 14:33:55.724 [debug] QUERY OK source="media_items" db=94.3ms queue=0.1ms idle=634.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Highlights from the charity yogscast special which was livestreamed to raise money for Child's Play. Over the duration of our 4-hour stream this weekend, you guys helped donate over $15,000 to push the total raised to over $30,000 as of Sunday night! \n\nThe aim is to hit $50,000 by the end of the month - a fantastic and worthwhile goal - so please diggy diggy your pockets and make a donation here: http://qubetubers.chipin.com/childs-play\n\nSpecial thanks go out to our very own Bjornar (yogscast web-guru Tinman, who is also present in this adventure as Spacker_LeChuck) for his donation of $1337 during the stream, which pushed us over the $26,000 milestone and allowed us to stream for two hours longer than we had planned!\n\nThanks also go out to Pat (peva3) for working so hard to run the livestream (playing Granny_Bacon as the livestream camera) - Ditto and Krippner for their awesome fan-made map and storyline, and everyone else who was able to attend! In addition - thanks to all the other amazing youtubers and streamers who took time out of their schedules to continue to make this amazing event a success! Here's to many more in the future!\n\nThanks muchly to Daniel Yount for the use of his amazing music: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - The Legend of Verigan, Part 1 (Shadow of Israphel Special)", "2d47384f-2159-45b3-b6b5-8ab50af370f6", 1, [], 1124, false, "Y7Qk2evomg8", "https://www.youtube.com/watch?v=Y7Qk2evomg8", 59, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - The Legend of Verigan, Part 1 (Shadow of Israphel Special).mp4", false, false, false, 0, ~U[2011-04-11 22:23:44Z], ~U[2025-10-27 18:33:55Z], ~U[2025-10-27 18:33:55Z], "Highlights from the charity yogscast special which was livestreamed to raise money for Child's Play. Over the duration of our 4-hour stream this weekend, you guys helped donate over $15,000 to push the total raised to over $30,000 as of Sunday night! \n\nThe aim is to hit $50,000 by the end of the month - a fantastic and worthwhile goal - so please diggy diggy your pockets and make a donation here: http://qubetubers.chipin.com/childs-play\n\nSpecial thanks go out to our very own Bjornar (yogscast web-guru Tinman, who is also present in this adventure as Spacker_LeChuck) for his donation of $1337 during the stream, which pushed us over the $26,000 milestone and allowed us to stream for two hours longer than we had planned!\n\nThanks also go out to Pat (peva3) for working so hard to run the livestream (playing Granny_Bacon as the livestream camera) - Ditto and Krippner for their awesome fan-made map and storyline, and everyone else who was able to attend! In addition - thanks to all the other amazing youtubers and streamers who took time out of their schedules to continue to make this amazing event a success! Here's to many more in the future!\n\nThanks muchly to Daniel Yount for the use of his amazing music: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - The Legend of Verigan, Part 1 (Shadow of Israphel Special)", 1, 1124, false, "Y7Qk2evomg8", "https://www.youtube.com/watch?v=Y7Qk2evomg8", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - The Legend of Verigan, Part 1 (Shadow of Israphel Special).mp4", false, ~U[2011-04-11 22:23:44Z]] 14:33:55.728 [debug] QUERY OK source="sources" db=3.3ms queue=0.1ms idle=199.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:55.729 [debug] Current batch of media processed. Will check again in 1000ms 14:33:56.729 [debug] Current batch of media processed. Will check again in 1000ms 14:33:57.730 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Part 2 of our highlights from the charity yogscast special which was livestreamed to raise money for Child's Play. Over the duration of our 4-hour stream this weekend, you guys helped donate over $15,000 to push the total raised to over $30,000 as of Sunday night! \n\nThe aim is to hit $50,000 by the end of the month - a fantastic and worthwhile goal - so please diggy diggy your pockets and make a donation here: http://qubetubers.chipin.com/childs-play\n\nSpecial thanks go out to our very own Bjornar (yogscast web-guru Tinman, who is also present in this adventure as Spacker_LeChuck) for his donation of $1337 during the stream, which pushed us over the $26,000 milestone and allowed us to stream for two hours longer than we had planned!\n\nThanks also go out to Pat (peva3) for working so hard to run the livestream (playing Granny_Bacon as the livestream camera) - Ditto and Krippner for their awesome fan-made map and storyline, and everyone else who was able to attend! In addition - thanks to all the other amazing youtubers and streamers who took time out of their schedules to continue to make this amazing event a success! Here's to many more in the future!\n\nThanks muchly to Daniel Yount for the use of his amazing music: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "duration" => 914, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - The Legend of Verigan, Part 2 (Shadow of Israphel Special).mp4", "id" => "XE-jGHc8UOI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XE-jGHc8UOI", "playlist_index" => 60, "timestamp" => 1302632152, "title" => "Minecraft - The Legend of Verigan, Part 2 (Shadow of Israphel Special)", "upload_date" => "20110412"} 14:33:57.734 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms idle=735.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:33:57.737 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=739.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:57.744 [debug] QUERY OK source="media_items" db=6.5ms idle=742.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-04-12 18:15:52Z], 1] 14:33:57.829 [debug] QUERY OK source="media_items" db=84.0ms idle=749.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Part 2 of our highlights from the charity yogscast special which was livestreamed to raise money for Child's Play. Over the duration of our 4-hour stream this weekend, you guys helped donate over $15,000 to push the total raised to over $30,000 as of Sunday night! \n\nThe aim is to hit $50,000 by the end of the month - a fantastic and worthwhile goal - so please diggy diggy your pockets and make a donation here: http://qubetubers.chipin.com/childs-play\n\nSpecial thanks go out to our very own Bjornar (yogscast web-guru Tinman, who is also present in this adventure as Spacker_LeChuck) for his donation of $1337 during the stream, which pushed us over the $26,000 milestone and allowed us to stream for two hours longer than we had planned!\n\nThanks also go out to Pat (peva3) for working so hard to run the livestream (playing Granny_Bacon as the livestream camera) - Ditto and Krippner for their awesome fan-made map and storyline, and everyone else who was able to attend! In addition - thanks to all the other amazing youtubers and streamers who took time out of their schedules to continue to make this amazing event a success! Here's to many more in the future!\n\nThanks muchly to Daniel Yount for the use of his amazing music: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - The Legend of Verigan, Part 2 (Shadow of Israphel Special)", "272631c6-2884-4c22-b0f1-2c889ba53af7", 1, [], 914, false, "XE-jGHc8UOI", "https://www.youtube.com/watch?v=XE-jGHc8UOI", 60, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - The Legend of Verigan, Part 2 (Shadow of Israphel Special).mp4", false, false, false, 0, ~U[2011-04-12 18:15:52Z], ~U[2025-10-27 18:33:57Z], ~U[2025-10-27 18:33:57Z], "Part 2 of our highlights from the charity yogscast special which was livestreamed to raise money for Child's Play. Over the duration of our 4-hour stream this weekend, you guys helped donate over $15,000 to push the total raised to over $30,000 as of Sunday night! \n\nThe aim is to hit $50,000 by the end of the month - a fantastic and worthwhile goal - so please diggy diggy your pockets and make a donation here: http://qubetubers.chipin.com/childs-play\n\nSpecial thanks go out to our very own Bjornar (yogscast web-guru Tinman, who is also present in this adventure as Spacker_LeChuck) for his donation of $1337 during the stream, which pushed us over the $26,000 milestone and allowed us to stream for two hours longer than we had planned!\n\nThanks also go out to Pat (peva3) for working so hard to run the livestream (playing Granny_Bacon as the livestream camera) - Ditto and Krippner for their awesome fan-made map and storyline, and everyone else who was able to attend! In addition - thanks to all the other amazing youtubers and streamers who took time out of their schedules to continue to make this amazing event a success! Here's to many more in the future!\n\nThanks muchly to Daniel Yount for the use of his amazing music: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - The Legend of Verigan, Part 2 (Shadow of Israphel Special)", 1, 914, false, "XE-jGHc8UOI", "https://www.youtube.com/watch?v=XE-jGHc8UOI", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - The Legend of Verigan, Part 2 (Shadow of Israphel Special).mp4", false, ~U[2011-04-12 18:15:52Z]] 14:33:57.832 [debug] QUERY OK source="sources" db=2.4ms idle=282.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:33:57.832 [debug] Current batch of media processed. Will check again in 1000ms 14:33:58.833 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The final part of our special from the charity livestream to raise money for Child's Play. Over the duration of our 4-hour stream this weekend, you guys helped donate over $15,000 to push the total raised to over $30,000 as of Sunday night! \n\nThe aim is to hit $50,000 by the end of the month - a fantastic and worthwhile goal - so please diggy diggy your pockets and make a donation here: http://qubetubers.chipin.com/childs-play\n\nSpecial thanks go out to our very own Bjornar (yogscast web-guru Tinman, who is also present in this adventure as Spacker_LeChuck) for his donation of $1337 during the stream, which pushed us over the $26,000 milestone and allowed us to stream for two hours longer than we had planned!\n\nThanks also go out to Pat (peva3) for working so hard to run the livestream (playing Granny_Bacon as the livestream camera) - Ditto and Krippner for their awesome fan-made map and storyline, and everyone else who was able to attend! In addition - thanks to all the other amazing youtubers and streamers who took time out of their schedules to continue to make this amazing event a success! Here's to many more in the future!\n\nThanks muchly to Daniel Yount for the use of his amazing music: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "duration" => 1316, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - The Legend of Verigan, Part 3 (Shadow of Israphel Special).mp4", "id" => "uh8TJVKi-9U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=uh8TJVKi-9U", "playlist_index" => 61, "timestamp" => 1302727210, "title" => "Minecraft - The Legend of Verigan, Part 3 (Shadow of Israphel Special)", "upload_date" => "20110413"} 14:33:58.836 [debug] QUERY OK source="sources" db=2.4ms idle=1096.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:33:58.840 [debug] QUERY OK source="sources" db=3.1ms idle=1092.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:58.852 [debug] QUERY OK source="media_items" db=10.9ms queue=0.4ms idle=1011.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-04-13 20:40:10Z], 1] 14:33:58.957 [debug] QUERY OK source="media_items" db=104.5ms queue=0.1ms idle=1020.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The final part of our special from the charity livestream to raise money for Child's Play. Over the duration of our 4-hour stream this weekend, you guys helped donate over $15,000 to push the total raised to over $30,000 as of Sunday night! \n\nThe aim is to hit $50,000 by the end of the month - a fantastic and worthwhile goal - so please diggy diggy your pockets and make a donation here: http://qubetubers.chipin.com/childs-play\n\nSpecial thanks go out to our very own Bjornar (yogscast web-guru Tinman, who is also present in this adventure as Spacker_LeChuck) for his donation of $1337 during the stream, which pushed us over the $26,000 milestone and allowed us to stream for two hours longer than we had planned!\n\nThanks also go out to Pat (peva3) for working so hard to run the livestream (playing Granny_Bacon as the livestream camera) - Ditto and Krippner for their awesome fan-made map and storyline, and everyone else who was able to attend! In addition - thanks to all the other amazing youtubers and streamers who took time out of their schedules to continue to make this amazing event a success! Here's to many more in the future!\n\nThanks muchly to Daniel Yount for the use of his amazing music: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - The Legend of Verigan, Part 3 (Shadow of Israphel Special)", "e2508d39-19d3-4016-991e-0ee985c23f81", 1, [], 1316, false, "uh8TJVKi-9U", "https://www.youtube.com/watch?v=uh8TJVKi-9U", 61, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - The Legend of Verigan, Part 3 (Shadow of Israphel Special).mp4", false, false, false, 0, ~U[2011-04-13 20:40:10Z], ~U[2025-10-27 18:33:58Z], ~U[2025-10-27 18:33:58Z], "The final part of our special from the charity livestream to raise money for Child's Play. Over the duration of our 4-hour stream this weekend, you guys helped donate over $15,000 to push the total raised to over $30,000 as of Sunday night! \n\nThe aim is to hit $50,000 by the end of the month - a fantastic and worthwhile goal - so please diggy diggy your pockets and make a donation here: http://qubetubers.chipin.com/childs-play\n\nSpecial thanks go out to our very own Bjornar (yogscast web-guru Tinman, who is also present in this adventure as Spacker_LeChuck) for his donation of $1337 during the stream, which pushed us over the $26,000 milestone and allowed us to stream for two hours longer than we had planned!\n\nThanks also go out to Pat (peva3) for working so hard to run the livestream (playing Granny_Bacon as the livestream camera) - Ditto and Krippner for their awesome fan-made map and storyline, and everyone else who was able to attend! In addition - thanks to all the other amazing youtubers and streamers who took time out of their schedules to continue to make this amazing event a success! Here's to many more in the future!\n\nThanks muchly to Daniel Yount for the use of his amazing music: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - The Legend of Verigan, Part 3 (Shadow of Israphel Special)", 1, 1316, false, "uh8TJVKi-9U", "https://www.youtube.com/watch?v=uh8TJVKi-9U", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - The Legend of Verigan, Part 3 (Shadow of Israphel Special).mp4", false, ~U[2011-04-13 20:40:10Z]] 14:33:58.960 [debug] QUERY OK source="sources" db=2.7ms idle=405.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:33:58.960 [debug] Current batch of media processed. Will check again in 1000ms 14:33:59.315 [info] GET /media_profiles 14:33:59.316 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 14:33:59.324 [debug] QUERY OK source="media_profiles" db=6.2ms queue=0.1ms idle=482.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:33:59.328 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=486.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:59.332 [debug] QUERY OK source="settings" db=3.3ms idle=477.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:59.338 [debug] QUERY OK source="settings" db=4.6ms idle=376.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:59.341 [info] Sent 200 in 25ms 14:33:59.444 [info] CONNECTED TO Phoenix.LiveView.Socket in 40µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fRABSjtKByA8WndWJQwBDB4XBwsiNF81Eae-x37Ek66nUD4gLNbnzS3w", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:33:59.462 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:33:59.462 [debug] Replied in 179µs 14:33:59.961 [debug] Current batch of media processed. Will check again in 1000ms 14:34:00.719 [info] {"source":"oban","duration":304,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:34:00.962 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Simon and Lewis were joined by (far too many) special guests after finishing the livestream to raise money for Child's Play! Supporting the charity were such legends as Seananners, Captainsparklez and Slyfox!\n\nThe aim is to hit $50,000 by the end of the month - a fantastic and worthwhile goal - so please diggy diggy your pockets and make a donation here: http://qubetubers.chipin.com/childs-play\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "duration" => 656, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Child's Play Post-Livestream Party w⧸ Special Guests!.mp4", "id" => "XymK_UXWNn0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XymK_UXWNn0", "playlist_index" => 62, "timestamp" => 1302813629, "title" => "Minecraft - Child's Play Post-Livestream Party w/ Special Guests!", "upload_date" => "20110414"} 14:34:00.966 [debug] QUERY OK source="sources" db=3.1ms queue=0.1ms idle=1630.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:00.971 [debug] QUERY OK source="sources" db=4.1ms queue=0.1ms idle=1628.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:00.982 [debug] QUERY OK source="media_items" db=10.2ms queue=0.1ms idle=1413.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-04-14 20:40:29Z], 1] 14:34:01.084 [debug] QUERY OK source="media_items" db=101.1ms idle=418.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis were joined by (far too many) special guests after finishing the livestream to raise money for Child's Play! Supporting the charity were such legends as Seananners, Captainsparklez and Slyfox!\n\nThe aim is to hit $50,000 by the end of the month - a fantastic and worthwhile goal - so please diggy diggy your pockets and make a donation here: http://qubetubers.chipin.com/childs-play\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - Child's Play Post-Livestream Party w/ Special Guests!", "53b7ed00-245f-469b-b9f1-d5813331c946", 1, [], 656, false, "XymK_UXWNn0", "https://www.youtube.com/watch?v=XymK_UXWNn0", 62, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Child's Play Post-Livestream Party w⧸ Special Guests!.mp4", false, false, false, 0, ~U[2011-04-14 20:40:29Z], ~U[2025-10-27 18:34:00Z], ~U[2025-10-27 18:34:00Z], "Simon and Lewis were joined by (far too many) special guests after finishing the livestream to raise money for Child's Play! Supporting the charity were such legends as Seananners, Captainsparklez and Slyfox!\n\nThe aim is to hit $50,000 by the end of the month - a fantastic and worthwhile goal - so please diggy diggy your pockets and make a donation here: http://qubetubers.chipin.com/childs-play\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - Child's Play Post-Livestream Party w/ Special Guests!", 1, 656, false, "XymK_UXWNn0", "https://www.youtube.com/watch?v=XymK_UXWNn0", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Child's Play Post-Livestream Party w⧸ Special Guests!.mp4", false, ~U[2011-04-14 20:40:29Z]] 14:34:01.089 [debug] QUERY OK source="sources" db=4.4ms queue=0.1ms idle=364.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:34:01.089 [debug] Current batch of media processed. Will check again in 1000ms 14:34:01.825 [info] GET /media_profiles/1 14:34:01.825 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:34:01.830 [debug] QUERY OK source="media_profiles" db=4.0ms idle=854.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:34:01.835 [debug] QUERY OK source="sources" db=4.3ms idle=848.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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:34:01.844 [debug] QUERY OK source="settings" db=8.8ms queue=0.1ms idle=751.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:01.848 [debug] QUERY OK source="settings" db=3.4ms idle=755.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:01.853 [debug] QUERY OK source="settings" db=3.3ms idle=271.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:01.855 [info] Sent 200 in 30ms 14:34:01.936 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "aTkOCXA_VAo9FgRxOwxbOggRV1UOJjpyQHjn3FdojzEIKDnQZH20VAV0", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:34:01.956 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:34:01.956 [debug] Replied in 151µs 14:34:02.090 [debug] Current batch of media processed. Will check again in 1000ms 14:34:02.739 [info] {"source":"oban","duration":6023,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:03.091 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Arriving at a strange harbour town, the heroes must continue their quest for pieces of Karpath's legendary map - that will lead the way to defeating an ancient evil under the sands!\n\nMany thanks to Daniel Yount for his great music: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "duration" => 1054, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 20: The Dread Pirate Norris.mp4", "id" => "y7bNgPxm0Vs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=y7bNgPxm0Vs", "playlist_index" => 63, "timestamp" => 1302994167, "title" => "Minecraft - \"Shadow of Israphel\" Part 20: The Dread Pirate Norris", "upload_date" => "20110416"} 14:34:03.100 [debug] QUERY OK source="sources" db=7.8ms queue=0.1ms idle=510.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:03.106 [debug] QUERY OK source="sources" db=5.1ms queue=0.2ms idle=361.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:03.120 [debug] QUERY OK source="media_items" db=13.0ms queue=0.1ms idle=111.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-04-16 22:49:27Z], 1] 14:34:03.209 [debug] QUERY OK source="media_items" db=87.8ms queue=0.1ms idle=125.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Arriving at a strange harbour town, the heroes must continue their quest for pieces of Karpath's legendary map - that will lead the way to defeating an ancient evil under the sands!\n\nMany thanks to Daniel Yount for his great music: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - \"Shadow of Israphel\" Part 20: The Dread Pirate Norris", "3ceda6c9-2a15-49e6-ba00-b1d8695f3018", 1, [], 1054, false, "y7bNgPxm0Vs", "https://www.youtube.com/watch?v=y7bNgPxm0Vs", 63, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 20: The Dread Pirate Norris.mp4", false, false, false, 0, ~U[2011-04-16 22:49:27Z], ~U[2025-10-27 18:34:03Z], ~U[2025-10-27 18:34:03Z], "Arriving at a strange harbour town, the heroes must continue their quest for pieces of Karpath's legendary map - that will lead the way to defeating an ancient evil under the sands!\n\nMany thanks to Daniel Yount for his great music: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - \"Shadow of Israphel\" Part 20: The Dread Pirate Norris", 1, 1054, false, "y7bNgPxm0Vs", "https://www.youtube.com/watch?v=y7bNgPxm0Vs", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 20: The Dread Pirate Norris.mp4", false, ~U[2011-04-16 22:49:27Z]] 14:34:03.212 [debug] QUERY OK source="sources" db=3.2ms queue=0.1ms idle=213.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:34:03.213 [debug] Current batch of media processed. Will check again in 1000ms 14:34:04.214 [debug] Current batch of media processed. Will check again in 1000ms 14:34:05.220 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Some outtakes from the rare occasions that things don't completely go to plan when recording our videos. Enjoy!\n\nThanks to Daniel Yount for providing one of the four songs used. http://audiograve.bandcamp.com\n\nTitle Splashscreen by JChico: http://jchico.deviantart.com/#/d3cbfpm", "duration" => 273, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Shadow of Israphel: Outtakes [Behind the scenes!].mp4", "id" => "8N3rNMzbpx4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8N3rNMzbpx4", "playlist_index" => 64, "timestamp" => 1303117568, "title" => "Minecraft - Shadow of Israphel: Outtakes [Behind the scenes!]", "upload_date" => "20110418"} 14:34:05.226 [debug] QUERY OK source="sources" db=4.5ms queue=0.1ms idle=627.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:05.235 [debug] QUERY OK source="sources" db=4.3ms queue=0.1ms idle=234.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:05.245 [debug] QUERY OK source="media_items" db=9.5ms idle=239.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-04-18 09:06:08Z], 1] 14:34:05.347 [debug] QUERY OK source="media_items" db=101.3ms idle=249.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Some outtakes from the rare occasions that things don't completely go to plan when recording our videos. Enjoy!\n\nThanks to Daniel Yount for providing one of the four songs used. http://audiograve.bandcamp.com\n\nTitle Splashscreen by JChico: http://jchico.deviantart.com/#/d3cbfpm", "Minecraft - Shadow of Israphel: Outtakes [Behind the scenes!]", "ec81db5c-54d0-43f5-902e-46693135ea70", 1, [], 273, false, "8N3rNMzbpx4", "https://www.youtube.com/watch?v=8N3rNMzbpx4", 64, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Shadow of Israphel: Outtakes [Behind the scenes!].mp4", false, false, false, 0, ~U[2011-04-18 09:06:08Z], ~U[2025-10-27 18:34:05Z], ~U[2025-10-27 18:34:05Z], "Some outtakes from the rare occasions that things don't completely go to plan when recording our videos. Enjoy!\n\nThanks to Daniel Yount for providing one of the four songs used. http://audiograve.bandcamp.com\n\nTitle Splashscreen by JChico: http://jchico.deviantart.com/#/d3cbfpm", "Minecraft - Shadow of Israphel: Outtakes [Behind the scenes!]", 1, 273, false, "8N3rNMzbpx4", "https://www.youtube.com/watch?v=8N3rNMzbpx4", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Shadow of Israphel: Outtakes [Behind the scenes!].mp4", false, ~U[2011-04-18 09:06:08Z]] 14:34:05.350 [debug] QUERY OK source="sources" db=2.9ms idle=351.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:34:05.350 [debug] Current batch of media processed. Will check again in 1000ms 14:34:06.351 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Hunting pieces of a mythical map said to hold the key to defeating an ancient evil beneath the sands beyond Verigan's Hold, our heroes find themselves in a strange treasure cave deep miles from anywhere. Let the adventures continue!\n\nTitle Splashscreen by Teutron: https://yogscast.com/showthread.php?25961-Teutron-s-Thread-of-art-and-the-likes.&highlight=granny+bacon", "duration" => 1143, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 21: Grimjaw's Trial.mp4", "id" => "WAc48jMHyoY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WAc48jMHyoY", "playlist_index" => 65, "timestamp" => 1305494910, "title" => "Minecraft - \"Shadow of Israphel\" Part 21: Grimjaw's Trial", "upload_date" => "20110515"} 14:34:06.355 [debug] QUERY OK source="sources" db=3.2ms idle=1117.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:06.358 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=1110.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:06.366 [debug] QUERY OK source="media_items" db=7.4ms queue=0.1ms idle=1011.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-05-15 21:28:30Z], 1] 14:34:06.487 [debug] QUERY OK source="media_items" db=119.8ms queue=0.2ms idle=1016.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Hunting pieces of a mythical map said to hold the key to defeating an ancient evil beneath the sands beyond Verigan's Hold, our heroes find themselves in a strange treasure cave deep miles from anywhere. Let the adventures continue!\n\nTitle Splashscreen by Teutron: https://yogscast.com/showthread.php?25961-Teutron-s-Thread-of-art-and-the-likes.&highlight=granny+bacon", "Minecraft - \"Shadow of Israphel\" Part 21: Grimjaw's Trial", "74597351-4e2e-4d2a-a02c-39c2664337ea", 1, [], 1143, false, "WAc48jMHyoY", "https://www.youtube.com/watch?v=WAc48jMHyoY", 65, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 21: Grimjaw's Trial.mp4", false, false, false, 0, ~U[2011-05-15 21:28:30Z], ~U[2025-10-27 18:34:06Z], ~U[2025-10-27 18:34:06Z], "Hunting pieces of a mythical map said to hold the key to defeating an ancient evil beneath the sands beyond Verigan's Hold, our heroes find themselves in a strange treasure cave deep miles from anywhere. Let the adventures continue!\n\nTitle Splashscreen by Teutron: https://yogscast.com/showthread.php?25961-Teutron-s-Thread-of-art-and-the-likes.&highlight=granny+bacon", "Minecraft - \"Shadow of Israphel\" Part 21: Grimjaw's Trial", 1, 1143, false, "WAc48jMHyoY", "https://www.youtube.com/watch?v=WAc48jMHyoY", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 21: Grimjaw's Trial.mp4", false, ~U[2011-05-15 21:28:30Z]] 14:34:06.490 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=888.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:34:06.491 [debug] Current batch of media processed. Will check again in 1000ms 14:34:07.492 [debug] Current batch of media processed. Will check again in 1000ms 14:34:08.493 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Far from home and without the guidance of their friends and allies, the dwarf and spaceman must struggle against evil and fight with their lives to recover an important map, which could hold the key to saving the world from a terrible evil.\n\nDiscuss this episode on our forums! http://yogscast.com/showthread.php?6687-Official-Shadow-of-Israphel-Episode-22-Discussion-Thread&p=74071#post74071\nMusical Cues by Daniel Yount http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Teutron: https://yogscast.com/showthread.php?25961-Teutron-s-Thread-of-art-and-the-likes.&highlight=granny+bacon", "duration" => 1029, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 22: The Betrayer.mp4", "id" => "ERUubUJdQVc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ERUubUJdQVc", "playlist_index" => 66, "timestamp" => 1305839830, "title" => "Minecraft - \"Shadow of Israphel\" Part 22: The Betrayer", "upload_date" => "20110519"} 14:34:08.497 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=886.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:08.500 [debug] QUERY OK source="sources" db=2.6ms idle=502.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:08.507 [debug] QUERY OK source="media_items" db=6.6ms queue=0.1ms idle=505.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-05-19 21:17:10Z], 1] 14:34:08.658 [debug] QUERY OK source="media_items" db=150.2ms idle=512.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Far from home and without the guidance of their friends and allies, the dwarf and spaceman must struggle against evil and fight with their lives to recover an important map, which could hold the key to saving the world from a terrible evil.\n\nDiscuss this episode on our forums! http://yogscast.com/showthread.php?6687-Official-Shadow-of-Israphel-Episode-22-Discussion-Thread&p=74071#post74071\nMusical Cues by Daniel Yount http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Teutron: https://yogscast.com/showthread.php?25961-Teutron-s-Thread-of-art-and-the-likes.&highlight=granny+bacon", "Minecraft - \"Shadow of Israphel\" Part 22: The Betrayer", "56643822-3965-4bff-8f45-792331f2ff9f", 1, [], 1029, false, "ERUubUJdQVc", "https://www.youtube.com/watch?v=ERUubUJdQVc", 66, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 22: The Betrayer.mp4", false, false, false, 0, ~U[2011-05-19 21:17:10Z], ~U[2025-10-27 18:34:08Z], ~U[2025-10-27 18:34:08Z], "Far from home and without the guidance of their friends and allies, the dwarf and spaceman must struggle against evil and fight with their lives to recover an important map, which could hold the key to saving the world from a terrible evil.\n\nDiscuss this episode on our forums! http://yogscast.com/showthread.php?6687-Official-Shadow-of-Israphel-Episode-22-Discussion-Thread&p=74071#post74071\nMusical Cues by Daniel Yount http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Teutron: https://yogscast.com/showthread.php?25961-Teutron-s-Thread-of-art-and-the-likes.&highlight=granny+bacon", "Minecraft - \"Shadow of Israphel\" Part 22: The Betrayer", 1, 1029, false, "ERUubUJdQVc", "https://www.youtube.com/watch?v=ERUubUJdQVc", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 22: The Betrayer.mp4", false, ~U[2011-05-19 21:17:10Z]] 14:34:08.661 [debug] QUERY OK source="sources" db=2.7ms idle=161.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:34:08.661 [debug] Current batch of media processed. Will check again in 1000ms 14:34:09.662 [debug] Current batch of media processed. Will check again in 1000ms 14:34:10.663 [debug] Current batch of media processed. Will check again in 1000ms 14:34:10.697 [info] GET /settings 14:34:10.697 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 14:34:10.703 [debug] QUERY OK source="settings" db=3.0ms idle=704.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.707 [debug] QUERY OK source="settings" db=4.2ms idle=707.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.711 [debug] QUERY OK source="settings" db=3.1ms queue=0.1ms idle=712.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.716 [debug] QUERY OK source="settings" db=3.4ms queue=0.1ms idle=717.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.719 [info] Sent 200 in 22ms 14:34:10.827 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fygBEDM0ZjIfXCNpCiltKR8IMAwUDy5zGYewpMVWH0bQzaXBMQUiLhB1", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:34:10.839 [debug] MOUNT Pinchflat.Settings.AppriseServerLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "value" => nil} 14:34:10.839 [debug] Replied in 162µs 14:34:10.841 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:34:10.841 [debug] Replied in 147µs 14:34:11.664 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Far from home and without the guidance of their friends and allies, the dwarf and spaceman must struggle against evil and fight with their lives to recover an important map, which could hold the key to saving the world from a terrible evil.\n\nDiscuss this episode on our forums! \nhttp://yogscast.com/showthread.php?7886-Official-Shadow-of-Israphel-Episode-23-Discussion-and-Speculation-Thread&p=94087#post94087\nThanks to Daryl for the amazing intro: http://www.youtube.com/user/Reckreations\nMusical Cues by Daniel Yount: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Teutron: https://yogscast.com/showthread.php?25961-Teutron-s-Thread-of-art-and-the-likes.&highlight=granny+bacon", "duration" => 1183, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 23: Evidence.mp4", "id" => "GWqy3dPC_jw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GWqy3dPC_jw", "playlist_index" => 67, "timestamp" => 1306620302, "title" => "Minecraft - \"Shadow of Israphel\" Part 23: Evidence", "upload_date" => "20110528"} 14:34:11.668 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=989.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:11.671 [debug] QUERY OK source="sources" db=3.1ms idle=965.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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.684 [debug] QUERY OK source="media_items" db=11.7ms queue=0.1ms idle=964.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-05-28 22:05:02Z], 1] 14:34:11.796 [debug] QUERY OK source="media_items" db=111.7ms queue=0.1ms idle=967.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Far from home and without the guidance of their friends and allies, the dwarf and spaceman must struggle against evil and fight with their lives to recover an important map, which could hold the key to saving the world from a terrible evil.\n\nDiscuss this episode on our forums! \nhttp://yogscast.com/showthread.php?7886-Official-Shadow-of-Israphel-Episode-23-Discussion-and-Speculation-Thread&p=94087#post94087\nThanks to Daryl for the amazing intro: http://www.youtube.com/user/Reckreations\nMusical Cues by Daniel Yount: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Teutron: https://yogscast.com/showthread.php?25961-Teutron-s-Thread-of-art-and-the-likes.&highlight=granny+bacon", "Minecraft - \"Shadow of Israphel\" Part 23: Evidence", "88636268-408e-431b-a6ea-ac7a305c1942", 1, [], 1183, false, "GWqy3dPC_jw", "https://www.youtube.com/watch?v=GWqy3dPC_jw", 67, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 23: Evidence.mp4", false, false, false, 0, ~U[2011-05-28 22:05:02Z], ~U[2025-10-27 18:34:11Z], ~U[2025-10-27 18:34:11Z], "Far from home and without the guidance of their friends and allies, the dwarf and spaceman must struggle against evil and fight with their lives to recover an important map, which could hold the key to saving the world from a terrible evil.\n\nDiscuss this episode on our forums! \nhttp://yogscast.com/showthread.php?7886-Official-Shadow-of-Israphel-Episode-23-Discussion-and-Speculation-Thread&p=94087#post94087\nThanks to Daryl for the amazing intro: http://www.youtube.com/user/Reckreations\nMusical Cues by Daniel Yount: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Teutron: https://yogscast.com/showthread.php?25961-Teutron-s-Thread-of-art-and-the-likes.&highlight=granny+bacon", "Minecraft - \"Shadow of Israphel\" Part 23: Evidence", 1, 1183, false, "GWqy3dPC_jw", "https://www.youtube.com/watch?v=GWqy3dPC_jw", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 23: Evidence.mp4", false, ~U[2011-05-28 22:05:02Z]] 14:34:11.799 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=128.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:11.800 [debug] Current batch of media processed. Will check again in 1000ms 14:34:12.800 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Far from home and without the guidance of their friends and allies, the dwarf and spaceman must struggle against evil and fight with their lives to recover an important map, which could hold the key to saving the world from a terrible evil.\n\nDiscuss this episode on our forums! \n\nMusical Cues by Daniel Yount: http://audiograve.bandcamp.com/\n\nSupporting intro by Daryl: http://www.youtube.com/user/Reckreations", "duration" => 1058, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 24: The Fiend.mp4", "id" => "akWW_2lZTxo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=akWW_2lZTxo", "playlist_index" => 68, "timestamp" => 1308350319, "title" => "Minecraft - \"Shadow of Israphel\" Part 24: The Fiend", "upload_date" => "20110617"} 14:34:12.804 [debug] QUERY OK source="sources" db=2.9ms idle=1121.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:12.808 [debug] QUERY OK source="sources" db=3.3ms queue=0.1ms idle=1120.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:12.816 [debug] QUERY OK source="media_items" db=8.3ms idle=1011.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-06-17 22:38:39Z], 1] 14:34:12.901 [debug] QUERY OK source="media_items" db=83.8ms idle=1017.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Far from home and without the guidance of their friends and allies, the dwarf and spaceman must struggle against evil and fight with their lives to recover an important map, which could hold the key to saving the world from a terrible evil.\n\nDiscuss this episode on our forums! \n\nMusical Cues by Daniel Yount: http://audiograve.bandcamp.com/\n\nSupporting intro by Daryl: http://www.youtube.com/user/Reckreations", "Minecraft - \"Shadow of Israphel\" Part 24: The Fiend", "fd2a5cb9-1598-40d8-bbd0-a8857fc8b9eb", 1, [], 1058, false, "akWW_2lZTxo", "https://www.youtube.com/watch?v=akWW_2lZTxo", 68, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 24: The Fiend.mp4", false, false, false, 0, ~U[2011-06-17 22:38:39Z], ~U[2025-10-27 18:34:12Z], ~U[2025-10-27 18:34:12Z], "Far from home and without the guidance of their friends and allies, the dwarf and spaceman must struggle against evil and fight with their lives to recover an important map, which could hold the key to saving the world from a terrible evil.\n\nDiscuss this episode on our forums! \n\nMusical Cues by Daniel Yount: http://audiograve.bandcamp.com/\n\nSupporting intro by Daryl: http://www.youtube.com/user/Reckreations", "Minecraft - \"Shadow of Israphel\" Part 24: The Fiend", 1, 1058, false, "akWW_2lZTxo", "https://www.youtube.com/watch?v=akWW_2lZTxo", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 24: The Fiend.mp4", false, ~U[2011-06-17 22:38:39Z]] 14:34:12.906 [debug] QUERY OK source="sources" db=3.8ms queue=0.1ms idle=217.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:12.906 [debug] Current batch of media processed. Will check again in 1000ms 14:34:13.907 [debug] Current batch of media processed. Will check again in 1000ms 14:34:14.908 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Far from home and without the guidance of their friends and allies, the dwarf and spaceman must struggle against evil and fight with their lives to recover an important map, which could hold the key to saving the world from a terrible evil.\n\nDiscuss this episode on our forums! \nhttp://yogscast.com/showthread.php?12126-Shadow-of-Israphel-25-Discussion-and-Speculation-Thread&p=165968#post165968\n\nShadow of Israphel Sountrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nSupporting intro by Daryl: http://www.youtube.com/user/Reckreations", "duration" => 1063, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 25: Visions.mp4", "id" => "0X5Q9W4RPpU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0X5Q9W4RPpU", "playlist_index" => 69, "timestamp" => 1308953886, "title" => "Minecraft - \"Shadow of Israphel\" Part 25: Visions", "upload_date" => "20110624"} 14:34:14.911 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=913.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:14.917 [debug] QUERY OK source="sources" db=5.1ms queue=0.1ms idle=916.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:14.927 [debug] QUERY OK source="media_items" db=9.0ms queue=0.1ms idle=922.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-06-24 22:18:06Z], 1] 14:34:15.219 [debug] QUERY OK source="media_items" db=290.6ms queue=0.1ms idle=932.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Far from home and without the guidance of their friends and allies, the dwarf and spaceman must struggle against evil and fight with their lives to recover an important map, which could hold the key to saving the world from a terrible evil.\n\nDiscuss this episode on our forums! \nhttp://yogscast.com/showthread.php?12126-Shadow-of-Israphel-25-Discussion-and-Speculation-Thread&p=165968#post165968\n\nShadow of Israphel Sountrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nSupporting intro by Daryl: http://www.youtube.com/user/Reckreations", "Minecraft - \"Shadow of Israphel\" Part 25: Visions", "5f34d0bd-77e1-4926-9f2f-4cb91d2ba332", 1, [], 1063, false, "0X5Q9W4RPpU", "https://www.youtube.com/watch?v=0X5Q9W4RPpU", 69, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 25: Visions.mp4", false, false, false, 0, ~U[2011-06-24 22:18:06Z], ~U[2025-10-27 18:34:14Z], ~U[2025-10-27 18:34:14Z], "Far from home and without the guidance of their friends and allies, the dwarf and spaceman must struggle against evil and fight with their lives to recover an important map, which could hold the key to saving the world from a terrible evil.\n\nDiscuss this episode on our forums! \nhttp://yogscast.com/showthread.php?12126-Shadow-of-Israphel-25-Discussion-and-Speculation-Thread&p=165968#post165968\n\nShadow of Israphel Sountrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nSupporting intro by Daryl: http://www.youtube.com/user/Reckreations", "Minecraft - \"Shadow of Israphel\" Part 25: Visions", 1, 1063, false, "0X5Q9W4RPpU", "https://www.youtube.com/watch?v=0X5Q9W4RPpU", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 25: Visions.mp4", false, ~U[2011-06-24 22:18:06Z]] 14:34:15.222 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=525.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:34:15.222 [debug] Current batch of media processed. Will check again in 1000ms 14:34:16.119 [info] GET / 14:34:16.120 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:34:16.124 [debug] QUERY OK source="settings" db=3.6ms 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:34:16.128 [debug] QUERY OK source="media_profiles" db=3.7ms idle=901.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:34:16.131 [debug] QUERY OK source="sources" db=2.6ms idle=429.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:34:16.139 [debug] QUERY OK source="media_items" db=7.5ms idle=135.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:34:16.142 [debug] QUERY OK source="media_items" db=3.1ms idle=143.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:34:16.145 [debug] QUERY OK source="settings" db=2.2ms 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:34:16.148 [debug] QUERY OK source="settings" db=2.5ms 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:34:16.151 [debug] QUERY OK source="settings" db=2.8ms 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 [] 14:34:16.157 [debug] QUERY OK source="tasks" db=4.4ms idle=14.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:34:16.162 [debug] QUERY OK source="sources" db=4.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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:16.169 [debug] QUERY OK source="media_items" db=4.5ms idle=19.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:34:16.177 [debug] QUERY OK source="media_items" db=7.4ms idle=21.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:34:16.188 [debug] QUERY OK source="media_items" db=9.3ms queue=0.1ms idle=26.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:34:16.194 [debug] QUERY OK source="media_items" db=5.7ms idle=30.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:34:16.199 [debug] QUERY OK source="sources" db=3.8ms queue=0.1ms idle=33.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:34:16.202 [info] Sent 200 in 82ms 14:34:16.223 [debug] Current batch of media processed. Will check again in 1000ms 14:34:17.224 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Continuing their search for fragments of a mysterious map that is needed to save the world, our heroes find themselves in the company of a zombie-dwarf-pirate, sheltering from the dark and rain in a strange house. \n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nDiscuss this episode on our forums!\nhttp://yogscast.com/showthread.php?13777-Shadow-of-Israphel-ep.-26-discussion-thread./", "duration" => 1130, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 26: The Mansion.mp4", "id" => "QNb8QdZ4mGY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QNb8QdZ4mGY", "playlist_index" => 70, "timestamp" => 1309556566, "title" => "Minecraft - \"Shadow of Israphel\" Part 26: The Mansion", "upload_date" => "20110701"} 14:34:17.228 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=1048.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:17.231 [debug] QUERY OK source="sources" db=2.8ms idle=1040.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:17.237 [debug] QUERY OK source="media_items" db=5.3ms idle=1037.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-07-01 21:42:46Z], 1] 14:34:17.340 [debug] QUERY OK source="media_items" db=102.0ms idle=1039.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Continuing their search for fragments of a mysterious map that is needed to save the world, our heroes find themselves in the company of a zombie-dwarf-pirate, sheltering from the dark and rain in a strange house. \n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nDiscuss this episode on our forums!\nhttp://yogscast.com/showthread.php?13777-Shadow-of-Israphel-ep.-26-discussion-thread./", "Minecraft - \"Shadow of Israphel\" Part 26: The Mansion", "73e6187a-5006-4547-877e-e473dfc8146d", 1, [], 1130, false, "QNb8QdZ4mGY", "https://www.youtube.com/watch?v=QNb8QdZ4mGY", 70, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 26: The Mansion.mp4", false, false, false, 0, ~U[2011-07-01 21:42:46Z], ~U[2025-10-27 18:34:17Z], ~U[2025-10-27 18:34:17Z], "Continuing their search for fragments of a mysterious map that is needed to save the world, our heroes find themselves in the company of a zombie-dwarf-pirate, sheltering from the dark and rain in a strange house. \n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nDiscuss this episode on our forums!\nhttp://yogscast.com/showthread.php?13777-Shadow-of-Israphel-ep.-26-discussion-thread./", "Minecraft - \"Shadow of Israphel\" Part 26: The Mansion", 1, 1130, false, "QNb8QdZ4mGY", "https://www.youtube.com/watch?v=QNb8QdZ4mGY", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 26: The Mansion.mp4", false, ~U[2011-07-01 21:42:46Z]] 14:34:17.345 [debug] QUERY OK source="sources" db=3.8ms idle=638.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:34:17.345 [debug] Current batch of media processed. Will check again in 1000ms 14:34:18.159 [info] GET / 14:34:18.159 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:34:18.163 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=928.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:18.168 [debug] QUERY OK source="media_profiles" db=5.0ms queue=0.1ms idle=925.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:34:18.172 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=828.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:34:18.181 [debug] QUERY OK source="media_items" db=9.5ms idle=826.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:34:18.186 [debug] QUERY OK source="media_items" db=4.4ms queue=0.1ms idle=474.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:34:18.190 [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:34:18.194 [debug] QUERY OK source="settings" db=3.6ms queue=0.1ms 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:34:18.200 [debug] QUERY OK source="settings" db=3.4ms queue=0.1ms 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:34:18.205 [debug] QUERY OK source="tasks" db=3.8ms 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"] 14:34:18.208 [debug] QUERY OK source="sources" db=2.4ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:18.213 [debug] QUERY OK source="media_items" db=3.0ms idle=19.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:34:18.222 [debug] QUERY OK source="media_items" db=8.2ms queue=0.3ms idle=18.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:34:18.231 [debug] QUERY OK source="media_items" db=8.7ms idle=22.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:34:18.236 [debug] QUERY OK source="media_items" db=4.1ms queue=0.1ms idle=26.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:34:18.239 [debug] QUERY OK source="sources" db=2.7ms idle=28.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:18.241 [info] Sent 200 in 82ms 14:34:18.346 [debug] Current batch of media processed. Will check again in 1000ms 14:34:19.347 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Searching for Jasper's planes aboard his aircraft carrier, the heroes must undertake a perilous journey to their next destination to continue their search for fragments of a mysterious map that is needed to save the world. \n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nDiscuss the episode here: http://yogscast.com/showthread.php?16077-Shadow-of-Israphel-ep.-27-discussion-thread\n\nTitle Splashscreen by Cryosignal: http://browse.deviantart.com/?q=honeydew&order=9&offset=48#/d3hyxv8", "duration" => 1346, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 27: To Skyhold!.mp4", "id" => "trEIINGcOg8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=trEIINGcOg8", "playlist_index" => 71, "timestamp" => 1310587307, "title" => "Minecraft - \"Shadow of Israphel\" Part 27: To Skyhold!", "upload_date" => "20110713"} 14:34:19.351 [debug] QUERY OK source="sources" db=2.9ms idle=1126.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:19.354 [debug] QUERY OK source="sources" db=2.6ms 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" = ?) [1] 14:34:19.357 [debug] QUERY OK source="media_items" db=2.9ms idle=1118.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-07-13 20:01:47Z], 1] 14:34:19.485 [debug] QUERY OK source="media_items" db=126.3ms idle=1118.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Searching for Jasper's planes aboard his aircraft carrier, the heroes must undertake a perilous journey to their next destination to continue their search for fragments of a mysterious map that is needed to save the world. \n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nDiscuss the episode here: http://yogscast.com/showthread.php?16077-Shadow-of-Israphel-ep.-27-discussion-thread\n\nTitle Splashscreen by Cryosignal: http://browse.deviantart.com/?q=honeydew&order=9&offset=48#/d3hyxv8", "Minecraft - \"Shadow of Israphel\" Part 27: To Skyhold!", "da647c4c-57fd-440c-a4bc-9ebd2bd607a0", 1, [], 1346, false, "trEIINGcOg8", "https://www.youtube.com/watch?v=trEIINGcOg8", 71, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 27: To Skyhold!.mp4", false, false, false, 0, ~U[2011-07-13 20:01:47Z], ~U[2025-10-27 18:34:19Z], ~U[2025-10-27 18:34:19Z], "Searching for Jasper's planes aboard his aircraft carrier, the heroes must undertake a perilous journey to their next destination to continue their search for fragments of a mysterious map that is needed to save the world. \n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nDiscuss the episode here: http://yogscast.com/showthread.php?16077-Shadow-of-Israphel-ep.-27-discussion-thread\n\nTitle Splashscreen by Cryosignal: http://browse.deviantart.com/?q=honeydew&order=9&offset=48#/d3hyxv8", "Minecraft - \"Shadow of Israphel\" Part 27: To Skyhold!", 1, 1346, false, "trEIINGcOg8", "https://www.youtube.com/watch?v=trEIINGcOg8", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 27: To Skyhold!.mp4", false, ~U[2011-07-13 20:01:47Z]] 14:34:19.488 [debug] QUERY OK source="sources" db=3.0ms queue=0.1ms idle=773.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:34:19.488 [debug] Current batch of media processed. Will check again in 1000ms 14:34:19.916 [info] GET / 14:34:19.917 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:34:19.920 [debug] QUERY OK source="settings" db=3.1ms idle=562.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.924 [debug] QUERY OK source="media_profiles" db=3.6ms idle=562.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:34:19.926 [debug] QUERY OK source="sources" db=2.3ms idle=439.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:34:19.934 [debug] QUERY OK source="media_items" db=7.4ms idle=438.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:34:19.937 [debug] QUERY OK source="media_items" db=2.8ms idle=217.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:34:19.940 [debug] QUERY OK source="settings" db=2.3ms 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 [] 14:34:19.943 [debug] QUERY OK source="settings" db=2.8ms 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 [] 14:34:19.946 [debug] QUERY OK source="settings" db=2.5ms 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 [] 14:34:19.952 [debug] QUERY OK source="tasks" db=3.7ms idle=13.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:34:19.954 [debug] QUERY OK source="sources" db=2.4ms idle=14.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:19.959 [debug] QUERY OK source="media_items" db=2.8ms 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 (m0."media_filepath" IS NULL)) [] 14:34:19.966 [debug] QUERY OK source="media_items" db=6.5ms idle=15.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:34:19.997 [debug] QUERY OK source="media_items" db=30.3ms queue=0.1ms idle=20.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:34:20.004 [debug] QUERY OK source="media_items" db=6.7ms idle=46.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:34:20.010 [debug] QUERY OK source="sources" db=4.8ms queue=0.1ms idle=50.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:20.013 [info] Sent 200 in 96ms 14:34:20.210 [info] GET / 14:34:20.210 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:34:20.213 [debug] QUERY OK source="settings" db=2.5ms 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 [] 14:34:20.216 [debug] QUERY OK source="media_profiles" db=2.7ms idle=247.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:34:20.219 [debug] QUERY OK source="sources" db=2.4ms idle=218.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:34:20.221 [debug] QUERY OK source="media_items" db=2.3ms idle=214.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:34:20.223 [debug] QUERY OK source="media_items" db=1.9ms idle=211.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:34:20.226 [debug] QUERY OK source="settings" db=2.0ms idle=10.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:20.229 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=10.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.232 [debug] QUERY OK source="settings" db=2.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 [] 14:34:20.235 [debug] QUERY OK source="tasks" db=2.4ms 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"] 14:34:20.238 [debug] QUERY OK source="sources" db=2.6ms idle=11.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:20.242 [debug] QUERY OK source="media_items" db=2.3ms 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)) [] 14:34:20.245 [debug] QUERY OK source="media_items" db=3.0ms 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 (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:34:20.249 [debug] QUERY OK source="media_items" db=2.9ms 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"))) [] 14:34:20.253 [debug] QUERY OK source="media_items" db=3.3ms 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:34:20.257 [debug] QUERY OK source="sources" db=3.2ms idle=15.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:20.260 [info] Sent 200 in 49ms 14:34:20.415 [info] POST /settings 14:34:20.415 [debug] Processing with PinchflatWeb.Settings.SettingController.update/2 Parameters: %{"_csrf_token" => "fygBEDM0ZjIfXCNpCiltKR8IMAwUDy5zGYewpMVWH0bQzaXBMQUiLhB1", "_method" => "put", "setting" => %{"apprise_server" => "", "audio_codec_preference" => "m4a", "download_throughput_limit" => "", "extractor_sleep_interval_seconds" => "10", "restrict_filenames" => "true", "video_codec_preference" => "avc", "youtube_api_key" => ""}} Pipelines: [:browser] 14:34:20.419 [debug] QUERY OK source="settings" db=2.4ms idle=174.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.480 [debug] QUERY OK source="settings" db=60.6ms idle=173.8ms UPDATE "settings" SET "restrict_filenames" = ?, "extractor_sleep_interval_seconds" = ? WHERE "id" = ? [true, 10, 1] 14:34:20.480 [info] Sent 302 in 64ms 14:34:20.489 [debug] Current batch of media processed. Will check again in 1000ms 14:34:20.499 [info] GET /settings 14:34:20.499 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 14:34:20.504 [debug] QUERY OK source="settings" db=3.9ms idle=250.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.509 [debug] QUERY OK source="settings" db=3.7ms queue=0.1ms idle=251.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:20.513 [debug] QUERY OK source="settings" db=3.6ms idle=252.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.517 [debug] QUERY OK source="settings" db=3.1ms idle=94.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:20.519 [info] Sent 200 in 19ms 14:34:20.539 [info] GET / 14:34:20.540 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:34:20.543 [debug] QUERY OK source="settings" db=2.8ms idle=60.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.546 [debug] QUERY OK source="media_profiles" db=2.5ms idle=38.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:34:20.548 [debug] QUERY OK source="sources" db=2.7ms idle=36.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:34:20.557 [debug] QUERY OK source="media_items" db=8.1ms idle=35.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:34:20.560 [debug] QUERY OK source="media_items" db=3.3ms idle=40.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:34:20.563 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=18.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.566 [debug] QUERY OK source="settings" db=2.8ms 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 [] 14:34:20.569 [debug] QUERY OK source="settings" db=2.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 [] 14:34:20.575 [debug] QUERY OK source="tasks" db=4.0ms idle=13.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:34:20.578 [debug] QUERY OK source="sources" db=3.4ms idle=14.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:20.584 [debug] QUERY OK source="media_items" db=3.4ms 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 (m0."media_filepath" IS NULL)) [] 14:34:20.592 [debug] QUERY OK source="media_items" db=8.1ms idle=17.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:34:20.603 [debug] QUERY OK source="media_items" db=9.6ms queue=0.1ms idle=23.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:34:20.608 [debug] QUERY OK source="media_items" db=5.1ms 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] 14:34:20.614 [debug] QUERY OK source="sources" db=5.1ms queue=0.1ms idle=30.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:34:20.617 [info] Sent 200 in 77ms 14:34:20.629 [info] CONNECTED TO Phoenix.LiveView.Socket in 39µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "VR89AicXUREHLzByFTxCKioOBiM0UAobmnYednatPCqJetwAxWcFl7fY", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:34:20.643 [debug] MOUNT Pinchflat.Settings.AppriseServerLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "value" => nil} 14:34:20.643 [debug] Replied in 160µs 14:34:20.645 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:34:20.645 [debug] Replied in 374µs 14:34:21.491 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Arriving via plane at a floating castle-thing, the boys must complete vague objectives from mysterious characters in order to find the remaining fragments of a map said to hold the key to saving the world!\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Cryosignal: http://browse.deviantart.com/?q=honeydew&order=9&offset=48#/d3hyxv8", "duration" => 1142, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 28: Fire and Ice.mp4", "id" => "DdS_-XBMsbw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DdS_-XBMsbw", "playlist_index" => 72, "timestamp" => 1310855164, "title" => "Minecraft - \"Shadow of Israphel\" Part 28: Fire and Ice", "upload_date" => "20110716"} 14:34:21.494 [debug] QUERY OK source="sources" db=3.1ms idle=899.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:21.497 [debug] QUERY OK source="sources" db=2.2ms idle=892.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:21.501 [debug] QUERY OK source="media_items" db=3.2ms idle=889.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-07-16 22:26:04Z], 1] 14:34:21.586 [debug] QUERY OK source="media_items" db=83.8ms idle=887.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Arriving via plane at a floating castle-thing, the boys must complete vague objectives from mysterious characters in order to find the remaining fragments of a map said to hold the key to saving the world!\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Cryosignal: http://browse.deviantart.com/?q=honeydew&order=9&offset=48#/d3hyxv8", "Minecraft - \"Shadow of Israphel\" Part 28: Fire and Ice", "b3edca84-f1fc-4383-b07d-a681ab44de62", 1, [], 1142, false, "DdS_-XBMsbw", "https://www.youtube.com/watch?v=DdS_-XBMsbw", 72, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 28: Fire and Ice.mp4", false, false, false, 0, ~U[2011-07-16 22:26:04Z], ~U[2025-10-27 18:34:21Z], ~U[2025-10-27 18:34:21Z], "Arriving via plane at a floating castle-thing, the boys must complete vague objectives from mysterious characters in order to find the remaining fragments of a map said to hold the key to saving the world!\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Cryosignal: http://browse.deviantart.com/?q=honeydew&order=9&offset=48#/d3hyxv8", "Minecraft - \"Shadow of Israphel\" Part 28: Fire and Ice", 1, 1142, false, "DdS_-XBMsbw", "https://www.youtube.com/watch?v=DdS_-XBMsbw", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 28: Fire and Ice.mp4", false, ~U[2011-07-16 22:26:04Z]] 14:34:21.589 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=864.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:34:21.589 [debug] Current batch of media processed. Will check again in 1000ms 14:34:22.590 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "After completing two of Skylord Baako's three objectives, our heroes must investigate some sinister events that have been occurring under cover of night. \n\nOfficial discussion thread here: http://yogscast.com/showthread.php?17890-Shadow-of-Israphel-Episode-29-Official-Discussion-Thread\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Cryosignal: http://browse.deviantart.com/?q=honeydew&order=9&offset=48#/d3hyxv8", "duration" => 1097, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 29: The Cage.mp4", "id" => "C1VLzD6UeKc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=C1VLzD6UeKc", "playlist_index" => 73, "timestamp" => 1311366981, "title" => "Minecraft - \"Shadow of Israphel\" Part 29: The Cage", "upload_date" => "20110722"} 14:34:22.594 [debug] QUERY OK source="sources" db=2.9ms queue=0.2ms idle=1093.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:22.597 [debug] QUERY OK source="sources" db=2.9ms idle=1093.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:22.606 [debug] QUERY OK source="media_items" db=7.8ms idle=1012.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-07-22 20:36:21Z], 1] 14:34:22.689 [debug] QUERY OK source="media_items" db=82.3ms idle=1017.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["After completing two of Skylord Baako's three objectives, our heroes must investigate some sinister events that have been occurring under cover of night. \n\nOfficial discussion thread here: http://yogscast.com/showthread.php?17890-Shadow-of-Israphel-Episode-29-Official-Discussion-Thread\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Cryosignal: http://browse.deviantart.com/?q=honeydew&order=9&offset=48#/d3hyxv8", "Minecraft - \"Shadow of Israphel\" Part 29: The Cage", "4876f8a1-9943-40cf-b74d-400ac08c2b5c", 1, [], 1097, false, "C1VLzD6UeKc", "https://www.youtube.com/watch?v=C1VLzD6UeKc", 73, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 29: The Cage.mp4", false, false, false, 0, ~U[2011-07-22 20:36:21Z], ~U[2025-10-27 18:34:22Z], ~U[2025-10-27 18:34:22Z], "After completing two of Skylord Baako's three objectives, our heroes must investigate some sinister events that have been occurring under cover of night. \n\nOfficial discussion thread here: http://yogscast.com/showthread.php?17890-Shadow-of-Israphel-Episode-29-Official-Discussion-Thread\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Cryosignal: http://browse.deviantart.com/?q=honeydew&order=9&offset=48#/d3hyxv8", "Minecraft - \"Shadow of Israphel\" Part 29: The Cage", 1, 1097, false, "C1VLzD6UeKc", "https://www.youtube.com/watch?v=C1VLzD6UeKc", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 29: The Cage.mp4", false, ~U[2011-07-22 20:36:21Z]] 14:34:22.693 [debug] QUERY OK source="sources" db=3.4ms idle=964.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:34:22.693 [debug] Current batch of media processed. Will check again in 1000ms 14:34:23.694 [debug] Current batch of media processed. Will check again in 1000ms 14:34:24.697 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Our heroes must complete Skylord Baako's final challenge and discover the secret of Skyhold! The secret other than that guy who murdered everyone, we uncovered that last week.\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes:\nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Shepherdessu: http://browse.deviantart.com/?q=yogscast&order=9&offset=48#/d3huoyf", "duration" => 1563, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 30: Ghost in the Shell.mp4", "id" => "xvAqHg1QyVc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xvAqHg1QyVc", "playlist_index" => 74, "timestamp" => 1311972344, "title" => "Minecraft - \"Shadow of Israphel\" Part 30: Ghost in the Shell", "upload_date" => "20110729"} 14:34:24.703 [debug] QUERY OK source="sources" db=4.7ms idle=963.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:24.710 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=693.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:24.721 [debug] QUERY OK source="media_items" db=10.4ms idle=696.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-07-29 20:45:44Z], 1] 14:34:24.815 [debug] QUERY OK source="media_items" db=93.0ms idle=703.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Our heroes must complete Skylord Baako's final challenge and discover the secret of Skyhold! The secret other than that guy who murdered everyone, we uncovered that last week.\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes:\nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Shepherdessu: http://browse.deviantart.com/?q=yogscast&order=9&offset=48#/d3huoyf", "Minecraft - \"Shadow of Israphel\" Part 30: Ghost in the Shell", "7c29a8c9-766a-4eca-8007-48f80752cab9", 1, [], 1563, false, "xvAqHg1QyVc", "https://www.youtube.com/watch?v=xvAqHg1QyVc", 74, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 30: Ghost in the Shell.mp4", false, false, false, 0, ~U[2011-07-29 20:45:44Z], ~U[2025-10-27 18:34:24Z], ~U[2025-10-27 18:34:24Z], "Our heroes must complete Skylord Baako's final challenge and discover the secret of Skyhold! The secret other than that guy who murdered everyone, we uncovered that last week.\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes:\nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Shepherdessu: http://browse.deviantart.com/?q=yogscast&order=9&offset=48#/d3huoyf", "Minecraft - \"Shadow of Israphel\" Part 30: Ghost in the Shell", 1, 1563, false, "xvAqHg1QyVc", "https://www.youtube.com/watch?v=xvAqHg1QyVc", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 30: Ghost in the Shell.mp4", false, ~U[2011-07-29 20:45:44Z]] 14:34:24.819 [debug] QUERY OK source="sources" db=4.1ms idle=112.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:34:24.820 [debug] Current batch of media processed. Will check again in 1000ms 14:34:25.821 [debug] Current batch of media processed. Will check again in 1000ms 14:34:26.823 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In search for the final fragment of a mysterious map said to hold the power to save the world, our noble heroes arrive at Stoneholm - a strange dwarven fortress in the middle of nowhere.\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes:\nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by SirPantalones: http://browse.deviantart.com/?q=honeydew%20xephos&order=9&offset=48#/d429psy", "duration" => 1152, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 31: Stoneholm.mp4", "id" => "eB8040-NagE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=eB8040-NagE", "playlist_index" => 75, "timestamp" => 1316813348, "title" => "Minecraft - \"Shadow of Israphel\" Part 31: Stoneholm", "upload_date" => "20110923"} 14:34:26.829 [debug] QUERY OK source="sources" db=4.6ms queue=0.1ms idle=815.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:26.836 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=824.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:26.846 [debug] QUERY OK source="media_items" db=9.2ms idle=828.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-09-23 21:29:08Z], 1] 14:34:27.010 [debug] QUERY OK source="media_items" db=163.8ms idle=838.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In search for the final fragment of a mysterious map said to hold the power to save the world, our noble heroes arrive at Stoneholm - a strange dwarven fortress in the middle of nowhere.\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes:\nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by SirPantalones: http://browse.deviantart.com/?q=honeydew%20xephos&order=9&offset=48#/d429psy", "Minecraft - \"Shadow of Israphel\" Part 31: Stoneholm", "9c50a969-3eed-4493-800d-dce68b8994ee", 1, [], 1152, false, "eB8040-NagE", "https://www.youtube.com/watch?v=eB8040-NagE", 75, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 31: Stoneholm.mp4", false, false, false, 0, ~U[2011-09-23 21:29:08Z], ~U[2025-10-27 18:34:26Z], ~U[2025-10-27 18:34:26Z], "In search for the final fragment of a mysterious map said to hold the power to save the world, our noble heroes arrive at Stoneholm - a strange dwarven fortress in the middle of nowhere.\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes:\nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by SirPantalones: http://browse.deviantart.com/?q=honeydew%20xephos&order=9&offset=48#/d429psy", "Minecraft - \"Shadow of Israphel\" Part 31: Stoneholm", 1, 1152, false, "eB8040-NagE", "https://www.youtube.com/watch?v=eB8040-NagE", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 31: Stoneholm.mp4", false, ~U[2011-09-23 21:29:08Z]] 14:34:27.014 [debug] QUERY OK source="sources" db=2.9ms idle=260.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:34:27.014 [debug] Current batch of media processed. Will check again in 1000ms 14:34:28.015 [debug] Current batch of media processed. Will check again in 1000ms 14:34:29.017 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Upon rescuing their old friend from a terrible fate, our heroes must brave the ruins of Stoneholm to secure important supplies.\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes:\nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Nick Graves: http://www.youtube.com/watch?v=OLUuy1vgkVM", "duration" => 1469, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 32: Beer and Lava.mp4", "id" => "7jajzWpVpJ8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7jajzWpVpJ8", "playlist_index" => 76, "timestamp" => 1317417820, "title" => "Minecraft - \"Shadow of Israphel\" Part 32: Beer and Lava", "upload_date" => "20110930"} 14:34:29.022 [debug] QUERY OK source="sources" db=3.5ms queue=0.1ms idle=1008.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:34:29.029 [debug] QUERY OK source="sources" db=3.2ms 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] 14:34:29.039 [debug] QUERY OK source="media_items" db=9.1ms queue=0.1ms idle=265.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-09-30 21:23:40Z], 1] 14:34:29.119 [debug] QUERY OK source="media_items" db=78.8ms queue=0.1ms idle=28.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Upon rescuing their old friend from a terrible fate, our heroes must brave the ruins of Stoneholm to secure important supplies.\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes:\nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Nick Graves: http://www.youtube.com/watch?v=OLUuy1vgkVM", "Minecraft - \"Shadow of Israphel\" Part 32: Beer and Lava", "c7ace0c8-57be-4c71-a67b-5bcf3fbf960d", 1, [], 1469, false, "7jajzWpVpJ8", "https://www.youtube.com/watch?v=7jajzWpVpJ8", 76, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 32: Beer and Lava.mp4", false, false, false, 0, ~U[2011-09-30 21:23:40Z], ~U[2025-10-27 18:34:29Z], ~U[2025-10-27 18:34:29Z], "Upon rescuing their old friend from a terrible fate, our heroes must brave the ruins of Stoneholm to secure important supplies.\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes:\nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Nick Graves: http://www.youtube.com/watch?v=OLUuy1vgkVM", "Minecraft - \"Shadow of Israphel\" Part 32: Beer and Lava", 1, 1469, false, "7jajzWpVpJ8", "https://www.youtube.com/watch?v=7jajzWpVpJ8", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 32: Beer and Lava.mp4", false, ~U[2011-09-30 21:23:40Z]] 14:34:29.123 [debug] QUERY OK source="sources" db=3.3ms queue=0.1ms idle=108.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:29.123 [debug] Current batch of media processed. Will check again in 1000ms 14:34:30.124 [debug] Current batch of media processed. Will check again in 1000ms 14:34:31.126 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "With Stoneholm secured, the heroes search for answers in the \"Deepcore\" - an abandoned dig site deep beneath the dwarven mountain. \n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes:\nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Bjorn Degerstedt.", "duration" => 1055, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 33: The Deepcore.mp4", "id" => "bNt-vUkFO1w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bNt-vUkFO1w", "playlist_index" => 77, "timestamp" => 1318191616, "title" => "Minecraft - \"Shadow of Israphel\" Part 33: The Deepcore", "upload_date" => "20111009"} 14:34:31.130 [debug] QUERY OK source="sources" db=3.4ms queue=0.1ms idle=350.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:31.133 [debug] QUERY OK source="sources" db=2.3ms idle=120.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:31.143 [debug] QUERY OK source="media_items" db=9.4ms queue=0.1ms idle=123.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-10-09 20:20:16Z], 1] 14:34:31.267 [debug] QUERY OK source="media_items" db=122.2ms idle=133.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["With Stoneholm secured, the heroes search for answers in the \"Deepcore\" - an abandoned dig site deep beneath the dwarven mountain. \n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes:\nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Bjorn Degerstedt.", "Minecraft - \"Shadow of Israphel\" Part 33: The Deepcore", "71674a27-b2c6-4c6c-88ff-174b8fe42f44", 1, [], 1055, false, "bNt-vUkFO1w", "https://www.youtube.com/watch?v=bNt-vUkFO1w", 77, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 33: The Deepcore.mp4", false, false, false, 0, ~U[2011-10-09 20:20:16Z], ~U[2025-10-27 18:34:31Z], ~U[2025-10-27 18:34:31Z], "With Stoneholm secured, the heroes search for answers in the \"Deepcore\" - an abandoned dig site deep beneath the dwarven mountain. \n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes:\nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Bjorn Degerstedt.", "Minecraft - \"Shadow of Israphel\" Part 33: The Deepcore", 1, 1055, false, "bNt-vUkFO1w", "https://www.youtube.com/watch?v=bNt-vUkFO1w", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 33: The Deepcore.mp4", false, ~U[2011-10-09 20:20:16Z]] 14:34:31.270 [debug] QUERY OK source="sources" db=3.1ms queue=0.1ms idle=256.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:34:31.270 [debug] Current batch of media processed. Will check again in 1000ms 14:34:32.271 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "After chasing the corrupt King Finbar through the forgotten dwarven mines of the Deepcore, our heroes must put an end to his evil plans at a mysterious building in the middle of nowhere...\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n\n♪ Daniel Yount: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\n\n♦ Intro splashscreen by DeathriS http://deathris.deviantart.com/art/Yogsraphel-212566688\n♦ Additional artwork by Lalna\n\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 916, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 34: The Spire.mp4", "id" => "8KFvN2kOGpM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8KFvN2kOGpM", "playlist_index" => 78, "timestamp" => 1320442379, "title" => "\"Shadow of Israphel\" Part 34: The Spire", "upload_date" => "20111104"} 14:34:32.275 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=1138.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:34:32.278 [debug] QUERY OK source="sources" db=2.7ms idle=1131.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:32.286 [debug] QUERY OK source="media_items" db=7.7ms idle=1012.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-11-04 21:32:59Z], 1] 14:34:32.374 [debug] QUERY OK source="media_items" db=86.5ms idle=1016.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["After chasing the corrupt King Finbar through the forgotten dwarven mines of the Deepcore, our heroes must put an end to his evil plans at a mysterious building in the middle of nowhere...\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n\n♪ Daniel Yount: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\n\n♦ Intro splashscreen by DeathriS http://deathris.deviantart.com/art/Yogsraphel-212566688\n♦ Additional artwork by Lalna\n\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "\"Shadow of Israphel\" Part 34: The Spire", "387f18d5-1af2-4bb5-badf-3acb7d4d8826", 1, [], 916, false, "8KFvN2kOGpM", "https://www.youtube.com/watch?v=8KFvN2kOGpM", 78, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 34: The Spire.mp4", false, false, false, 0, ~U[2011-11-04 21:32:59Z], ~U[2025-10-27 18:34:32Z], ~U[2025-10-27 18:34:32Z], "After chasing the corrupt King Finbar through the forgotten dwarven mines of the Deepcore, our heroes must put an end to his evil plans at a mysterious building in the middle of nowhere...\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n\n♪ Daniel Yount: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\n\n♦ Intro splashscreen by DeathriS http://deathris.deviantart.com/art/Yogsraphel-212566688\n♦ Additional artwork by Lalna\n\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "\"Shadow of Israphel\" Part 34: The Spire", 1, 916, false, "8KFvN2kOGpM", "https://www.youtube.com/watch?v=8KFvN2kOGpM", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 34: The Spire.mp4", false, ~U[2011-11-04 21:32:59Z]] 14:34:32.377 [debug] QUERY OK source="sources" db=3.0ms queue=0.1ms idle=586.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:34:32.377 [debug] Current batch of media processed. Will check again in 1000ms 14:34:32.745 [info] {"source":"oban","duration":4565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:33.378 [debug] Current batch of media processed. Will check again in 1000ms 14:34:34.379 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The brand new Minecraft episode, as shown excusively at Minecon 2011! Thanks to everyone who came and saw us in person at our panel! We'll put the rest of the panel up over the next few days!\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n♪ Daniel Yount: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\n♦ Intro splashscreen by explosivewhale\n♦ Additional artwork by Lalna\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 980, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 35: Lastwatch Hold (Minecon Special!).mp4", "id" => "AkpQN8JXY8g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=AkpQN8JXY8g", "playlist_index" => 79, "timestamp" => 1321751078, "title" => "Minecraft - \"Shadow of Israphel\" Part 35: Lastwatch Hold (Minecon Special!)", "upload_date" => "20111120"} 14:34:34.386 [debug] QUERY OK source="sources" db=6.1ms idle=582.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:34:34.391 [debug] QUERY OK source="sources" db=3.8ms idle=374.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:34.402 [debug] QUERY OK source="media_items" db=10.6ms idle=378.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-11-20 01:04:38Z], 1] 14:34:34.480 [debug] QUERY OK source="media_items" db=76.8ms idle=389.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The brand new Minecraft episode, as shown excusively at Minecon 2011! Thanks to everyone who came and saw us in person at our panel! We'll put the rest of the panel up over the next few days!\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n♪ Daniel Yount: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\n♦ Intro splashscreen by explosivewhale\n♦ Additional artwork by Lalna\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Part 35: Lastwatch Hold (Minecon Special!)", "f62481ca-4138-41fa-a3b0-5a7545fd7dfa", 1, [], 980, false, "AkpQN8JXY8g", "https://www.youtube.com/watch?v=AkpQN8JXY8g", 79, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 35: Lastwatch Hold (Minecon Special!).mp4", false, false, false, 0, ~U[2011-11-20 01:04:38Z], ~U[2025-10-27 18:34:34Z], ~U[2025-10-27 18:34:34Z], "The brand new Minecraft episode, as shown excusively at Minecon 2011! Thanks to everyone who came and saw us in person at our panel! We'll put the rest of the panel up over the next few days!\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n♪ Daniel Yount: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\n♦ Intro splashscreen by explosivewhale\n♦ Additional artwork by Lalna\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Part 35: Lastwatch Hold (Minecon Special!)", 1, 980, false, "AkpQN8JXY8g", "https://www.youtube.com/watch?v=AkpQN8JXY8g", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 35: Lastwatch Hold (Minecon Special!).mp4", false, ~U[2011-11-20 01:04:38Z]] 14:34:34.484 [debug] QUERY OK source="sources" db=3.5ms queue=0.1ms idle=467.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:34:34.484 [debug] Current batch of media processed. Will check again in 1000ms 14:34:35.492 [debug] Current batch of media processed. Will check again in 1000ms 14:34:36.497 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The brand new Minecraft episode showing a variety of outtakes, as shown excusively at Minecon 2011! Thanks to everyone who came and saw us in person at our panel! We'll put the rest of the panel up over the next few days!\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n♦ Intro splashscreen by explosivewhale\n♦ Additional artwork by Lalna\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 236, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Outtakes (Minecon Special!).mp4", "id" => "TIAPug4bcWM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=TIAPug4bcWM", "playlist_index" => 80, "timestamp" => 1321864894, "title" => "Minecraft - \"Shadow of Israphel\" Outtakes (Minecon Special!)", "upload_date" => "20111121"} 14:34:36.508 [debug] QUERY OK source="sources" db=10.2ms queue=0.1ms idle=682.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:36.517 [debug] QUERY OK source="sources" db=3.2ms queue=0.1ms idle=501.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:36.526 [debug] QUERY OK source="media_items" db=9.2ms queue=0.1ms idle=505.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-11-21 08:41:34Z], 1] 14:34:36.630 [debug] QUERY OK source="media_items" db=101.9ms idle=516.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The brand new Minecraft episode showing a variety of outtakes, as shown excusively at Minecon 2011! Thanks to everyone who came and saw us in person at our panel! We'll put the rest of the panel up over the next few days!\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n♦ Intro splashscreen by explosivewhale\n♦ Additional artwork by Lalna\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Outtakes (Minecon Special!)", "fb880021-a09f-4d54-a4ff-418e4d97c623", 1, [], 236, false, "TIAPug4bcWM", "https://www.youtube.com/watch?v=TIAPug4bcWM", 80, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Outtakes (Minecon Special!).mp4", false, false, false, 0, ~U[2011-11-21 08:41:34Z], ~U[2025-10-27 18:34:36Z], ~U[2025-10-27 18:34:36Z], "The brand new Minecraft episode showing a variety of outtakes, as shown excusively at Minecon 2011! Thanks to everyone who came and saw us in person at our panel! We'll put the rest of the panel up over the next few days!\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n♦ Intro splashscreen by explosivewhale\n♦ Additional artwork by Lalna\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Outtakes (Minecon Special!)", 1, 236, false, "TIAPug4bcWM", "https://www.youtube.com/watch?v=TIAPug4bcWM", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Outtakes (Minecon Special!).mp4", false, ~U[2011-11-21 08:41:34Z]] 14:34:36.633 [debug] QUERY OK source="sources" db=2.6ms idle=618.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:36.633 [debug] Current batch of media processed. Will check again in 1000ms 14:34:37.634 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A terrible discovery at Lastwatch Hold warns of a catastrophic failure of the wall that holds back the desert. With time running out, our heroes must find their way back to Verigan's Hold, and seek Adaephon's help to decipher the mysterious map...\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\nThe secret of chat bubbles in Minecraft! http://www.youtube.com/watch?v=RIDLP8_GFRc\n\nTitle Splashscreen by Chew.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 1385, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 36: The Last Letter.mp4", "id" => "-b6gV8Fr3Qk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-b6gV8Fr3Qk", "playlist_index" => 81, "timestamp" => 1329262792, "title" => "Minecraft - \"Shadow of Israphel\" Part 36: The Last Letter", "upload_date" => "20120214"} 14:34:37.638 [debug] QUERY OK source="sources" db=3.4ms queue=0.1ms idle=1118.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:37.642 [debug] QUERY OK source="sources" db=3.1ms queue=0.1ms idle=1112.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:37.652 [debug] QUERY OK source="media_items" db=9.3ms queue=0.1ms idle=1012.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2012-02-14 23:39:52Z], 1] 14:34:37.740 [debug] QUERY OK source="media_items" db=86.2ms idle=1019.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A terrible discovery at Lastwatch Hold warns of a catastrophic failure of the wall that holds back the desert. With time running out, our heroes must find their way back to Verigan's Hold, and seek Adaephon's help to decipher the mysterious map...\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\nThe secret of chat bubbles in Minecraft! http://www.youtube.com/watch?v=RIDLP8_GFRc\n\nTitle Splashscreen by Chew.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Part 36: The Last Letter", "4d625228-4203-47f3-9546-d1d287dfc6df", 1, [], 1385, false, "-b6gV8Fr3Qk", "https://www.youtube.com/watch?v=-b6gV8Fr3Qk", 81, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 36: The Last Letter.mp4", false, false, false, 0, ~U[2012-02-14 23:39:52Z], ~U[2025-10-27 18:34:37Z], ~U[2025-10-27 18:34:37Z], "A terrible discovery at Lastwatch Hold warns of a catastrophic failure of the wall that holds back the desert. With time running out, our heroes must find their way back to Verigan's Hold, and seek Adaephon's help to decipher the mysterious map...\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\nThe secret of chat bubbles in Minecraft! http://www.youtube.com/watch?v=RIDLP8_GFRc\n\nTitle Splashscreen by Chew.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Part 36: The Last Letter", 1, 1385, false, "-b6gV8Fr3Qk", "https://www.youtube.com/watch?v=-b6gV8Fr3Qk", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 36: The Last Letter.mp4", false, ~U[2012-02-14 23:39:52Z]] 14:34:37.743 [debug] QUERY OK source="sources" db=3.0ms idle=920.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:34:37.744 [debug] Current batch of media processed. Will check again in 1000ms 14:34:38.745 [debug] Current batch of media processed. Will check again in 1000ms 14:34:39.750 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "After healing Adaephon, the heroes set out in search of a tree, a tomb and a secret, but following the steps of the map is treacherous at best. \n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\nTitle Splashscreen by Carrotfire.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 1253, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 37: Ballooning.mp4", "id" => "GDQQ03BEpa8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GDQQ03BEpa8", "playlist_index" => 82, "timestamp" => 1330638004, "title" => "Minecraft - \"Shadow of Israphel\" Part 37: Ballooning", "upload_date" => "20120301"} 14:34:39.765 [debug] QUERY OK source="sources" db=14.0ms queue=0.1ms idle=906.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:39.798 [debug] QUERY OK source="sources" db=24.1ms queue=0.3ms idle=755.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:39.819 [debug] QUERY OK source="media_items" db=19.9ms idle=778.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2012-03-01 21:40:04Z], 1] 14:34:39.980 [debug] QUERY OK source="media_items" db=160.2ms idle=799.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["After healing Adaephon, the heroes set out in search of a tree, a tomb and a secret, but following the steps of the map is treacherous at best. \n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\nTitle Splashscreen by Carrotfire.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Part 37: Ballooning", "33c10f5e-af48-4242-aa44-1708f3c03003", 1, [], 1253, false, "GDQQ03BEpa8", "https://www.youtube.com/watch?v=GDQQ03BEpa8", 82, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 37: Ballooning.mp4", false, false, false, 0, ~U[2012-03-01 21:40:04Z], ~U[2025-10-27 18:34:39Z], ~U[2025-10-27 18:34:39Z], "After healing Adaephon, the heroes set out in search of a tree, a tomb and a secret, but following the steps of the map is treacherous at best. \n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\nTitle Splashscreen by Carrotfire.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Part 37: Ballooning", 1, 1253, false, "GDQQ03BEpa8", "https://www.youtube.com/watch?v=GDQQ03BEpa8", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 37: Ballooning.mp4", false, ~U[2012-03-01 21:40:04Z]] 14:34:39.987 [debug] QUERY OK source="sources" db=6.2ms queue=0.1ms idle=215.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:34:39.987 [debug] Current batch of media processed. Will check again in 1000ms 14:34:40.989 [debug] Current batch of media processed. Will check again in 1000ms 14:34:41.995 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "With time running out, the heroes enter the desert to seek out the secrets hidden in the Templar's map. With the wall shattered and the bastions of Verigan's Hold and Lastwatch buried in sand, time is of the essence and the world must be saved!\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\nTitle Splashscreen by Carrotfire\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "duration" => 1681, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 38: The Hand.mp4", "id" => "3mUlReQx32Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3mUlReQx32Q", "playlist_index" => 83, "timestamp" => 1334521644, "title" => "Minecraft - \"Shadow of Israphel\" Part 38: The Hand", "upload_date" => "20120415"} 14:34:42.004 [debug] QUERY OK source="sources" db=8.1ms idle=977.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:42.015 [debug] QUERY OK source="sources" db=5.9ms queue=0.1ms idle=989.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:42.027 [debug] QUERY OK source="media_items" db=11.4ms queue=0.1ms idle=996.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2012-04-15 20:27:24Z], 1] 14:34:42.125 [debug] QUERY OK source="media_items" db=97.1ms idle=1008.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["With time running out, the heroes enter the desert to seek out the secrets hidden in the Templar's map. With the wall shattered and the bastions of Verigan's Hold and Lastwatch buried in sand, time is of the essence and the world must be saved!\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\nTitle Splashscreen by Carrotfire\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Part 38: The Hand", "4cbcf3fa-9c83-444f-9eb4-fca764428508", 1, [], 1681, false, "3mUlReQx32Q", "https://www.youtube.com/watch?v=3mUlReQx32Q", 83, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 38: The Hand.mp4", false, false, false, 0, ~U[2012-04-15 20:27:24Z], ~U[2025-10-27 18:34:42Z], ~U[2025-10-27 18:34:42Z], "With time running out, the heroes enter the desert to seek out the secrets hidden in the Templar's map. With the wall shattered and the bastions of Verigan's Hold and Lastwatch buried in sand, time is of the essence and the world must be saved!\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\nTitle Splashscreen by Carrotfire\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Part 38: The Hand", 1, 1681, false, "3mUlReQx32Q", "https://www.youtube.com/watch?v=3mUlReQx32Q", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 38: The Hand.mp4", false, ~U[2012-04-15 20:27:24Z]] 14:34:42.129 [debug] QUERY OK source="sources" db=4.0ms idle=121.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:34:42.130 [debug] Current batch of media processed. Will check again in 1000ms 14:34:43.132 [debug] Current batch of media processed. Will check again in 1000ms 14:34:44.135 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Knight Peculier's demise has sent the heroes on a spiralling path of not knowing what the hell to do! The heroes stride blindly onward, with little to no direction. Can they escape from the giant machine that they are trapped in? Can they save Daisy, if not for Knight Peculier, then for her maidens honour? \n\nYes, Shadow of Israphel is back! We're gonna put it up weekly on Fridays, so be excited :D\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n● Powered by Chillblast: http://www.chillblast.com/yogscast.html", "duration" => 865, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 39: Doppelgängers.mp4", "id" => "EVyA4kOyLf0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=EVyA4kOyLf0", "playlist_index" => 84, "timestamp" => 1341600280, "title" => "\"Shadow of Israphel\" Part 39: Doppelgängers", "upload_date" => "20120706"} 14:34:44.147 [debug] QUERY OK source="sources" db=11.3ms idle=1117.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:44.163 [debug] QUERY OK source="sources" db=8.1ms queue=0.1ms idle=135.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:44.183 [debug] QUERY OK source="media_items" db=19.0ms queue=0.3ms idle=144.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2012-07-06 18:44:40Z], 1] 14:34:44.296 [debug] QUERY OK source="media_items" db=110.3ms idle=165.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Knight Peculier's demise has sent the heroes on a spiralling path of not knowing what the hell to do! The heroes stride blindly onward, with little to no direction. Can they escape from the giant machine that they are trapped in? Can they save Daisy, if not for Knight Peculier, then for her maidens honour? \n\nYes, Shadow of Israphel is back! We're gonna put it up weekly on Fridays, so be excited :D\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n● Powered by Chillblast: http://www.chillblast.com/yogscast.html", "\"Shadow of Israphel\" Part 39: Doppelgängers", "7d0795f2-633d-4d65-a311-a8dbece0eddc", 1, [], 865, false, "EVyA4kOyLf0", "https://www.youtube.com/watch?v=EVyA4kOyLf0", 84, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 39: Doppelgängers.mp4", false, false, false, 0, ~U[2012-07-06 18:44:40Z], ~U[2025-10-27 18:34:44Z], ~U[2025-10-27 18:34:44Z], "Knight Peculier's demise has sent the heroes on a spiralling path of not knowing what the hell to do! The heroes stride blindly onward, with little to no direction. Can they escape from the giant machine that they are trapped in? Can they save Daisy, if not for Knight Peculier, then for her maidens honour? \n\nYes, Shadow of Israphel is back! We're gonna put it up weekly on Fridays, so be excited :D\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n● Powered by Chillblast: http://www.chillblast.com/yogscast.html", "\"Shadow of Israphel\" Part 39: Doppelgängers", 1, 865, false, "EVyA4kOyLf0", "https://www.youtube.com/watch?v=EVyA4kOyLf0", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 39: Doppelgängers.mp4", false, ~U[2012-07-06 18:44:40Z]] 14:34:44.313 [debug] QUERY OK source="sources" db=15.6ms idle=150.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:44.320 [debug] Current batch of media processed. Will check again in 1000ms 14:34:45.320 [debug] Current batch of media processed. Will check again in 1000ms 14:34:46.328 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Chasing an evil clone of Honeydew through the bowels of an ancient robot buried beneath the sands, the heroes find an unexpected surprise awaiting them and must fight to find their way out!\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n● Powered by Chillblast: http://www.chillblast.com/yogscast.html\n● PO Box: The Yogscast, PO Box 3125, Bristol, BS2 2DG", "duration" => 994, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 40: Facility 4.mp4", "id" => "xaCR6xNQe9w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xaCR6xNQe9w", "playlist_index" => 85, "timestamp" => 1342216275, "title" => "\"Shadow of Israphel\" Part 40: Facility 4", "upload_date" => "20120713"} 14:34:46.349 [debug] QUERY OK source="sources" db=19.8ms queue=0.1ms idle=308.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:34:46.366 [debug] QUERY OK source="sources" db=9.2ms queue=0.1ms idle=335.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:46.396 [debug] QUERY OK source="media_items" db=29.0ms queue=0.1ms idle=345.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2012-07-13 21:51:15Z], 1] 14:34:46.539 [debug] QUERY OK source="media_items" db=139.5ms idle=376.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Chasing an evil clone of Honeydew through the bowels of an ancient robot buried beneath the sands, the heroes find an unexpected surprise awaiting them and must fight to find their way out!\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n● Powered by Chillblast: http://www.chillblast.com/yogscast.html\n● PO Box: The Yogscast, PO Box 3125, Bristol, BS2 2DG", "\"Shadow of Israphel\" Part 40: Facility 4", "f20e0c16-9121-44c4-b963-bcaa978a3bde", 1, [], 994, false, "xaCR6xNQe9w", "https://www.youtube.com/watch?v=xaCR6xNQe9w", 85, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 40: Facility 4.mp4", false, false, false, 0, ~U[2012-07-13 21:51:15Z], ~U[2025-10-27 18:34:46Z], ~U[2025-10-27 18:34:46Z], "Chasing an evil clone of Honeydew through the bowels of an ancient robot buried beneath the sands, the heroes find an unexpected surprise awaiting them and must fight to find their way out!\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n● Powered by Chillblast: http://www.chillblast.com/yogscast.html\n● PO Box: The Yogscast, PO Box 3125, Bristol, BS2 2DG", "\"Shadow of Israphel\" Part 40: Facility 4", 1, 994, false, "xaCR6xNQe9w", "https://www.youtube.com/watch?v=xaCR6xNQe9w", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 40: Facility 4.mp4", false, ~U[2012-07-13 21:51:15Z]] 14:34:46.580 [debug] QUERY OK source="sources" db=38.4ms queue=0.2ms idle=335.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:46.583 [debug] Current batch of media processed. Will check again in 1000ms 14:34:47.605 [debug] Current batch of media processed. Will check again in 1000ms 14:34:48.611 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "After escaping from the buried remains of a giant robots buried underneath the sand, the heroes must press on to find aid for the injured Professor Webley, who can guide them to the Tomb of the Templar Kings, hidden somewhere deep in the desert. \n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n● Powered by Chillblast: http://www.chillblast.com/yogscast.html\n● PO Box: The Yogscast, PO Box 3125, Bristol, BS2 2DG", "duration" => 1062, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 41: Far From Home.mp4", "id" => "CSgAs5APDG4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=CSgAs5APDG4", "playlist_index" => 86, "timestamp" => 1342811652, "title" => "\"Shadow of Israphel\" Part 41: Far From Home", "upload_date" => "20120720"} 14:34:48.618 [debug] QUERY OK source="sources" db=5.6ms queue=0.1ms idle=594.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:48.629 [debug] QUERY OK source="sources" db=6.0ms queue=0.1ms idle=604.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:48.642 [debug] QUERY OK source="media_items" db=12.4ms queue=0.1ms idle=611.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2012-07-20 19:14:12Z], 1] 14:34:48.749 [debug] QUERY OK source="media_items" db=106.4ms idle=624.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["After escaping from the buried remains of a giant robots buried underneath the sand, the heroes must press on to find aid for the injured Professor Webley, who can guide them to the Tomb of the Templar Kings, hidden somewhere deep in the desert. \n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n● Powered by Chillblast: http://www.chillblast.com/yogscast.html\n● PO Box: The Yogscast, PO Box 3125, Bristol, BS2 2DG", "\"Shadow of Israphel\" Part 41: Far From Home", "2b3ab73e-8fd9-4274-bcfd-3f6707887b7b", 1, [], 1062, false, "CSgAs5APDG4", "https://www.youtube.com/watch?v=CSgAs5APDG4", 86, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 41: Far From Home.mp4", false, false, false, 0, ~U[2012-07-20 19:14:12Z], ~U[2025-10-27 18:34:48Z], ~U[2025-10-27 18:34:48Z], "After escaping from the buried remains of a giant robots buried underneath the sand, the heroes must press on to find aid for the injured Professor Webley, who can guide them to the Tomb of the Templar Kings, hidden somewhere deep in the desert. \n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n● Powered by Chillblast: http://www.chillblast.com/yogscast.html\n● PO Box: The Yogscast, PO Box 3125, Bristol, BS2 2DG", "\"Shadow of Israphel\" Part 41: Far From Home", 1, 1062, false, "CSgAs5APDG4", "https://www.youtube.com/watch?v=CSgAs5APDG4", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 41: Far From Home.mp4", false, ~U[2012-07-20 19:14:12Z]] 14:34:48.773 [debug] QUERY OK source="sources" db=16.4ms queue=0.2ms idle=524.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:48.774 [debug] Current batch of media processed. Will check again in 1000ms 14:34:49.791 [debug] Current batch of media processed. Will check again in 1000ms 14:34:50.801 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Our heroes are searching for a healer in the desert to help their new friend Professor Webley, and they come across a familiar face who needs help at an oasis in the desert!\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n● Powered by Chillblast: http://www.chillblast.com/yogscast.html\n● PO Box: The Yogscast, PO Box 3125, Bristol, BS2 2DG", "duration" => 1018, "filename" => "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 42: The Oasis.mp4", "id" => "oZezE9It6HE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oZezE9It6HE", "playlist_index" => 87, "timestamp" => 1343410270, "title" => "\"Shadow of Israphel\" Part 42: The Oasis", "upload_date" => "20120727"} 14:34:50.810 [debug] QUERY OK source="sources" db=7.6ms queue=0.2ms idle=781.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:50.828 [debug] QUERY OK source="sources" db=8.7ms queue=1.3ms idle=796.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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.868 [debug] QUERY OK source="media_items" db=39.1ms queue=0.3ms idle=807.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2012-07-27 17:31:10Z], 1] 14:34:51.056 [debug] QUERY OK source="media_items" db=185.8ms queue=0.1ms idle=848.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Our heroes are searching for a healer in the desert to help their new friend Professor Webley, and they come across a familiar face who needs help at an oasis in the desert!\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n● Powered by Chillblast: http://www.chillblast.com/yogscast.html\n● PO Box: The Yogscast, PO Box 3125, Bristol, BS2 2DG", "\"Shadow of Israphel\" Part 42: The Oasis", "8f3192d5-91e3-499c-90ef-2e5cd1835879", 1, [], 1018, false, "oZezE9It6HE", "https://www.youtube.com/watch?v=oZezE9It6HE", 87, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 42: The Oasis.mp4", false, false, false, 0, ~U[2012-07-27 17:31:10Z], ~U[2025-10-27 18:34:50Z], ~U[2025-10-27 18:34:50Z], "Our heroes are searching for a healer in the desert to help their new friend Professor Webley, and they come across a familiar face who needs help at an oasis in the desert!\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n● Powered by Chillblast: http://www.chillblast.com/yogscast.html\n● PO Box: The Yogscast, PO Box 3125, Bristol, BS2 2DG", "\"Shadow of Israphel\" Part 42: The Oasis", 1, 1018, false, "oZezE9It6HE", "https://www.youtube.com/watch?v=oZezE9It6HE", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 42: The Oasis.mp4", false, ~U[2012-07-27 17:31:10Z]] 14:34:51.068 [debug] QUERY OK source="sources" db=8.6ms queue=1.2ms idle=798.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:34:51.070 [debug] Current batch of media processed. Will check again in 1000ms 14:34:51.913 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLF60520313D07F366 --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Shadow Of Israphel/Season 1/s01e00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/19/98/19985383604bf335b01023941df74a871d95e052453becb17aa4e16badb32cbe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:34:51.918 [debug] Gracefully stopping file follower 14:34:51.935 [debug] QUERY OK source="sources" db=12.3ms queue=0.2ms idle=1092.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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] 14:34:51.957 [debug] QUERY OK source="sources" db=14.4ms queue=0.4ms idle=1074.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:51.988 [debug] QUERY OK source="media_items" db=30.4ms queue=0.1ms idle=902.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-03 03:05:59Z], 1] 14:34:52.081 [debug] QUERY OK source="media_items" db=90.3ms queue=0.1ms idle=921.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Plunged into a mysterious land, our heroes must find or build shelter to survive the first night in a strange wilderness!\r\n\n▬▬▬▬▬\n\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nFacebook: https://www.facebook.com/yogscast/\nWatch us live on Twitch.tv every day! http://www.twitch.tv/yogscast/\n\n▬▬▬▬▬\n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT", "Minecraft - Part 1: How to Survive the First Night", "fc514b47-c80c-478c-bb05-2bc1b2388dff", 1, [], 604, false, "4UdEFmxRmNE", "https://www.youtube.com/watch?v=4UdEFmxRmNE", 1, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 1: How to Survive the First Night.mp4", false, false, false, 1, ~U[2010-12-03 03:05:59Z], ~U[2025-10-27 18:34:51Z], ~U[2025-10-27 18:34:51Z], "Plunged into a mysterious land, our heroes must find or build shelter to survive the first night in a strange wilderness!\r\n\n▬▬▬▬▬\n\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nFacebook: https://www.facebook.com/yogscast/\nWatch us live on Twitch.tv every day! http://www.twitch.tv/yogscast/\n\n▬▬▬▬▬\n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT", "Minecraft - Part 1: How to Survive the First Night", 1, 604, false, "4UdEFmxRmNE", "https://www.youtube.com/watch?v=4UdEFmxRmNE", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 1: How to Survive the First Night.mp4", false, ~U[2010-12-03 03:05:59Z]] 14:34:52.087 [debug] QUERY OK source="sources" db=5.3ms queue=0.2ms idle=798.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:52.100 [debug] QUERY OK source="media_items" db=12.5ms queue=0.1ms idle=154.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-04 01:09:46Z], 1] 14:34:52.181 [debug] QUERY OK source="media_items" db=80.0ms idle=143.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis spend the night in the hastily-built shack and take an ill-advised foray out into the darkness to defend their land!\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 2: Spending the Night in Simon's Shack", "fcf386b6-53eb-4918-a5cb-46652b0c53a1", 1, [], 547, false, "P8IayadsacU", "https://www.youtube.com/watch?v=P8IayadsacU", 2, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 2: Spending the Night in Simon's Shack.mp4", false, false, false, 1, ~U[2010-12-04 01:09:46Z], ~U[2025-10-27 18:34:52Z], ~U[2025-10-27 18:34:52Z], "Simon and Lewis spend the night in the hastily-built shack and take an ill-advised foray out into the darkness to defend their land!\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 2: Spending the Night in Simon's Shack", 1, 547, false, "P8IayadsacU", "https://www.youtube.com/watch?v=P8IayadsacU", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 2: Spending the Night in Simon's Shack.mp4", false, ~U[2010-12-04 01:09:46Z]] 14:34:52.185 [debug] QUERY OK source="sources" db=3.2ms queue=0.2ms idle=193.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:52.197 [debug] QUERY OK source="media_items" db=10.9ms queue=0.2ms idle=105.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-05 02:52:59Z], 1] 14:34:52.344 [debug] QUERY OK source="media_items" db=145.6ms idle=111.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis establish a permanent \"base of operations\" from which to explore the new world around them.\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 3: Moving into the Yogcave", "d5a61c1a-6dc5-4868-829b-a95177551261", 1, [], 677, false, "mhSXfGUB_CI", "https://www.youtube.com/watch?v=mhSXfGUB_CI", 3, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 3: Moving into the Yogcave.mp4", false, false, false, 1, ~U[2010-12-05 02:52:59Z], ~U[2025-10-27 18:34:52Z], ~U[2025-10-27 18:34:52Z], "Simon and Lewis establish a permanent \"base of operations\" from which to explore the new world around them.\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 3: Moving into the Yogcave", 1, 677, false, "mhSXfGUB_CI", "https://www.youtube.com/watch?v=mhSXfGUB_CI", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 3: Moving into the Yogcave.mp4", false, ~U[2010-12-05 02:52:59Z]] 14:34:52.347 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=163.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:52.356 [debug] QUERY OK source="media_items" db=8.6ms queue=0.1ms idle=162.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-06 01:41:49Z], 1] 14:34:52.465 [debug] QUERY OK source="media_items" db=107.5ms idle=159.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["After settling into their new digs, Simon and Lewis need to recover their strength and spruce the place up a bit, so they endeavour to do so by searching for pigs and sand!\r\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/\n\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 4: The first quest! Pork and Glass", "da9ef4c7-4d79-489b-bb50-dccf1e370c85", 1, [], 669, false, "sFOlXExhvhk", "https://www.youtube.com/watch?v=sFOlXExhvhk", 4, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 4: The first quest! Pork and Glass.mp4", false, false, false, 2, ~U[2010-12-06 01:41:49Z], ~U[2025-10-27 18:34:52Z], ~U[2025-10-27 18:34:52Z], "After settling into their new digs, Simon and Lewis need to recover their strength and spruce the place up a bit, so they endeavour to do so by searching for pigs and sand!\r\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/\n\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 4: The first quest! Pork and Glass", 1, 669, false, "sFOlXExhvhk", "https://www.youtube.com/watch?v=sFOlXExhvhk", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 4: The first quest! Pork and Glass.mp4", false, ~U[2010-12-06 01:41:49Z]] 14:34:52.468 [debug] QUERY OK source="sources" db=2.9ms idle=121.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:52.477 [debug] QUERY OK source="media_items" db=8.6ms queue=0.1ms idle=121.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-06 20:51:36Z], 1] 14:34:52.557 [debug] QUERY OK source="media_items" db=78.9ms idle=121.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis explore the wonders of Minecraft.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 5: The Legend of Pig Island", "a304dad8-b7c7-4a7d-86a4-fd693deaad11", 1, [], 666, false, "0qRFPxAW6Is", "https://www.youtube.com/watch?v=0qRFPxAW6Is", 5, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 5: The Legend of Pig Island.mp4", false, false, false, 2, ~U[2010-12-06 20:51:36Z], ~U[2025-10-27 18:34:52Z], ~U[2025-10-27 18:34:52Z], "Simon and Lewis explore the wonders of Minecraft.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 5: The Legend of Pig Island", 1, 666, false, "0qRFPxAW6Is", "https://www.youtube.com/watch?v=0qRFPxAW6Is", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 5: The Legend of Pig Island.mp4", false, ~U[2010-12-06 20:51:36Z]] 14:34:52.560 [debug] QUERY OK source="sources" db=2.5ms idle=193.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:52.570 [debug] QUERY OK source="media_items" db=9.4ms idle=95.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-08 01:16:55Z], 1] 14:34:52.649 [debug] QUERY OK source="media_items" db=78.2ms idle=102.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis explore the wonders of Minecraft.\r\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/", "Minecraft - Part 6: The Mysterious Tree", "374603f9-c927-46d0-88fb-b978bf6e075f", 1, [], 593, false, "AvrNUFoBl9U", "https://www.youtube.com/watch?v=AvrNUFoBl9U", 6, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 6: The Mysterious Tree.mp4", false, false, false, 2, ~U[2010-12-08 01:16:55Z], ~U[2025-10-27 18:34:52Z], ~U[2025-10-27 18:34:52Z], "Simon and Lewis explore the wonders of Minecraft.\r\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/", "Minecraft - Part 6: The Mysterious Tree", 1, 593, false, "AvrNUFoBl9U", "https://www.youtube.com/watch?v=AvrNUFoBl9U", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 6: The Mysterious Tree.mp4", false, ~U[2010-12-08 01:16:55Z]] 14:34:52.652 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=172.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:52.661 [debug] QUERY OK source="media_items" db=8.3ms queue=0.1ms idle=95.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-08 23:07:30Z], 1] 14:34:52.732 [debug] QUERY OK source="media_items" db=70.7ms idle=101.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis attempt to solve Indiana Jones style puzzles to attain glorious treasure!\r\n\r💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/", "Minecraft - Part 7: The Trial of the Pyramid", "aaedfdb1-be80-425a-9ec0-cc8a6101f3a7", 1, [], 588, false, "y7kezSA_u5A", "https://www.youtube.com/watch?v=y7kezSA_u5A", 7, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 7: The Trial of the Pyramid.mp4", false, false, false, 2, ~U[2010-12-08 23:07:30Z], ~U[2025-10-27 18:34:52Z], ~U[2025-10-27 18:34:52Z], "Simon and Lewis attempt to solve Indiana Jones style puzzles to attain glorious treasure!\r\n\r💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n👕 Yogscast Store: https://store.yogscast.com/", "Minecraft - Part 7: The Trial of the Pyramid", 1, 588, false, "y7kezSA_u5A", "https://www.youtube.com/watch?v=y7kezSA_u5A", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 7: The Trial of the Pyramid.mp4", false, ~U[2010-12-08 23:07:30Z]] 14:34:52.736 [debug] QUERY OK source="sources" db=2.8ms idle=162.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:52.745 [debug] QUERY OK source="media_items" db=8.9ms idle=87.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-09 21:18:32Z], 1] 14:34:52.807 [debug] QUERY OK source="media_items" db=61.8ms idle=93.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Having temporarily suspended their efforts to crack open the Pyramid of Trials, Simon and Lewis go spelunking for some materials.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 8: The Quest for the Bucket", "8a43c9e0-7f61-44be-b80c-b46207b21e99", 1, [], 617, false, "eZ-oYPUTlqY", "https://www.youtube.com/watch?v=eZ-oYPUTlqY", 8, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 8: The Quest for the Bucket.mp4", false, false, false, 1, ~U[2010-12-09 21:18:32Z], ~U[2025-10-27 18:34:52Z], ~U[2025-10-27 18:34:52Z], "Having temporarily suspended their efforts to crack open the Pyramid of Trials, Simon and Lewis go spelunking for some materials.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 8: The Quest for the Bucket", 1, 617, false, "eZ-oYPUTlqY", "https://www.youtube.com/watch?v=eZ-oYPUTlqY", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 8: The Quest for the Bucket.mp4", false, ~U[2010-12-09 21:18:32Z]] 14:34:52.811 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=147.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:52.821 [debug] QUERY OK source="media_items" db=9.4ms queue=0.1ms idle=78.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-10 23:04:42Z], 1] 14:34:52.891 [debug] QUERY OK source="media_items" db=69.8ms idle=85.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis collect the epic loot they earned!\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 9: Epic Dungeon Loot", "ad968729-1f0b-4f55-8e91-47bb839aa601", 1, [], 719, false, "ZbrTC6ITbA4", "https://www.youtube.com/watch?v=ZbrTC6ITbA4", 9, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 9: Epic Dungeon Loot.mp4", false, false, false, 1, ~U[2010-12-10 23:04:42Z], ~U[2025-10-27 18:34:52Z], ~U[2025-10-27 18:34:52Z], "Simon and Lewis collect the epic loot they earned!\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 9: Epic Dungeon Loot", 1, 719, false, "ZbrTC6ITbA4", "https://www.youtube.com/watch?v=ZbrTC6ITbA4", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 9: Epic Dungeon Loot.mp4", false, ~U[2010-12-10 23:04:42Z]] 14:34:52.895 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=146.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:52.905 [debug] QUERY OK source="media_items" db=10.0ms idle=87.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-11 22:31:29Z], 1] 14:34:52.983 [debug] QUERY OK source="media_items" db=77.5ms queue=0.1ms idle=94.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis carry their spoils home on a freezing cold evening and begin work on improving their home.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 10: \"Renovating\" the Yogcave", "01bb789b-95b2-47ac-8fcb-9431763c15b8", 1, [], 709, false, "TQBQ0MIpJsk", "https://www.youtube.com/watch?v=TQBQ0MIpJsk", 10, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 10: "Renovating" the Yogcave.mp4", false, false, false, 1, ~U[2010-12-11 22:31:29Z], ~U[2025-10-27 18:34:52Z], ~U[2025-10-27 18:34:52Z], "Simon and Lewis carry their spoils home on a freezing cold evening and begin work on improving their home.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 10: \"Renovating\" the Yogcave", 1, 709, false, "TQBQ0MIpJsk", "https://www.youtube.com/watch?v=TQBQ0MIpJsk", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 10: "Renovating" the Yogcave.mp4", false, ~U[2010-12-11 22:31:29Z]] 14:34:52.987 [debug] QUERY OK source="sources" db=3.1ms idle=163.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:52.998 [debug] QUERY OK source="media_items" db=9.9ms queue=0.1ms idle=96.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-12 22:30:03Z], 1] 14:34:53.067 [debug] QUERY OK source="media_items" db=68.7ms idle=103.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis spruce up their home and begin preparations for the \"big dig\".\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 11: Going Underground", "5a3a113e-061e-4a12-9360-be433d4bf18e", 1, [], 828, false, "gJGYmOF_gR8", "https://www.youtube.com/watch?v=gJGYmOF_gR8", 11, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 11: Going Underground.mp4", false, false, false, 1, ~U[2010-12-12 22:30:03Z], ~U[2025-10-27 18:34:52Z], ~U[2025-10-27 18:34:52Z], "Simon and Lewis spruce up their home and begin preparations for the \"big dig\".\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 11: Going Underground", 1, 828, false, "gJGYmOF_gR8", "https://www.youtube.com/watch?v=gJGYmOF_gR8", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 11: Going Underground.mp4", false, ~U[2010-12-12 22:30:03Z]] 14:34:53.071 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=162.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:53.081 [debug] QUERY OK source="media_items" db=10.0ms idle=87.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-13 23:45:28Z], 1] 14:34:53.159 [debug] QUERY OK source="media_items" db=77.1ms idle=94.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["William Riker and his dwarvish buddy discover iron, gold, redstone and zombies.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 12: Hitting Bedrock", "d1c76369-90ad-49a2-b904-f02f5eec75bc", 1, [], 647, false, "tcp7x8HaWSA", "https://www.youtube.com/watch?v=tcp7x8HaWSA", 12, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 12: Hitting Bedrock.mp4", false, false, false, 1, ~U[2010-12-13 23:45:28Z], ~U[2025-10-27 18:34:53Z], ~U[2025-10-27 18:34:53Z], "William Riker and his dwarvish buddy discover iron, gold, redstone and zombies.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 12: Hitting Bedrock", 1, 647, false, "tcp7x8HaWSA", "https://www.youtube.com/watch?v=tcp7x8HaWSA", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 12: Hitting Bedrock.mp4", false, ~U[2010-12-13 23:45:28Z]] 14:34:53.162 [debug] QUERY OK source="sources" db=2.9ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:53.172 [debug] QUERY OK source="media_items" db=9.0ms queue=0.1ms idle=95.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-14 22:44:23Z], 1] 14:34:53.251 [debug] QUERY OK source="media_items" db=78.4ms idle=101.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Lewis and Simon strike black gold and begin operations to extract it.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 13: Setting up the Obsidian Outpost", "02344b8a-31d0-4ab4-b02b-520a015b1718", 1, [], 767, false, "QIPu1gadZZw", "https://www.youtube.com/watch?v=QIPu1gadZZw", 13, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 13: Setting up the Obsidian Outpost.mp4", false, false, false, 1, ~U[2010-12-14 22:44:23Z], ~U[2025-10-27 18:34:53Z], ~U[2025-10-27 18:34:53Z], "Lewis and Simon strike black gold and begin operations to extract it.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 13: Setting up the Obsidian Outpost", 1, 767, false, "QIPu1gadZZw", "https://www.youtube.com/watch?v=QIPu1gadZZw", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 13: Setting up the Obsidian Outpost.mp4", false, ~U[2010-12-14 22:44:23Z]] 14:34:53.255 [debug] QUERY OK source="sources" db=3.2ms idle=170.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:53.266 [debug] QUERY OK source="media_items" db=10.3ms idle=96.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-15 23:11:00Z], 1] 14:34:53.335 [debug] QUERY OK source="media_items" db=68.5ms idle=103.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The black gold won't mine itself, so the boys must hunt for diamond!\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 14: In Search of Diamond", "3ddb7505-19f5-419d-aeeb-03e65097d6b8", 1, [], 711, false, "krC7OEk4tic", "https://www.youtube.com/watch?v=krC7OEk4tic", 14, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 14: In Search of Diamond.mp4", false, false, false, 1, ~U[2010-12-15 23:11:00Z], ~U[2025-10-27 18:34:53Z], ~U[2025-10-27 18:34:53Z], "The black gold won't mine itself, so the boys must hunt for diamond!\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 14: In Search of Diamond", 1, 711, false, "krC7OEk4tic", "https://www.youtube.com/watch?v=krC7OEk4tic", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 14: In Search of Diamond.mp4", false, ~U[2010-12-15 23:11:00Z]] 14:34:53.338 [debug] QUERY OK source="sources" db=2.6ms idle=163.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:53.349 [debug] QUERY OK source="media_items" db=9.7ms queue=0.1ms idle=87.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-16 20:49:53Z], 1] 14:34:53.433 [debug] QUERY OK source="media_items" db=83.5ms idle=94.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon works hard to mine obsidian, while Lewis explores deep underground caverns in fear for his life and sanity.\r\n\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 15: Hoarding Obsidian", "764218d1-33ef-40af-9435-365eda56f2a1", 1, [], 785, false, "ZXbMTFdgzCo", "https://www.youtube.com/watch?v=ZXbMTFdgzCo", 15, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 15: Hoarding Obsidian.mp4", false, false, false, 1, ~U[2010-12-16 20:49:53Z], ~U[2025-10-27 18:34:53Z], ~U[2025-10-27 18:34:53Z], "Simon works hard to mine obsidian, while Lewis explores deep underground caverns in fear for his life and sanity.\r\n\r\n\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 15: Hoarding Obsidian", 1, 785, false, "ZXbMTFdgzCo", "https://www.youtube.com/watch?v=ZXbMTFdgzCo", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 15: Hoarding Obsidian.mp4", false, ~U[2010-12-16 20:49:53Z]] 14:34:53.436 [debug] QUERY OK source="sources" db=2.7ms idle=98.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:53.445 [debug] QUERY OK source="media_items" db=8.3ms idle=98.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-17 20:32:11Z], 1] 14:34:53.527 [debug] QUERY OK source="media_items" db=81.6ms queue=0.1ms idle=96.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["With their obsidian in hand, William Riker and his dwarvish pal dabble in the occult.\n\n\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 16: Dark Constructions", "e0dd0d9d-5e5c-4823-a798-52e91ab39d83", 1, [], 1052, false, "HfYqtRscfOI", "https://www.youtube.com/watch?v=HfYqtRscfOI", 16, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 16: Dark Constructions.mp4", false, false, false, 1, ~U[2010-12-17 20:32:11Z], ~U[2025-10-27 18:34:53Z], ~U[2025-10-27 18:34:53Z], "With their obsidian in hand, William Riker and his dwarvish pal dabble in the occult.\n\n\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 16: Dark Constructions", 1, 1052, false, "HfYqtRscfOI", "https://www.youtube.com/watch?v=HfYqtRscfOI", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 16: Dark Constructions.mp4", false, ~U[2010-12-17 20:32:11Z]] 14:34:53.531 [debug] QUERY OK source="sources" db=2.9ms idle=150.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:53.541 [debug] QUERY OK source="media_items" db=9.6ms queue=0.1ms idle=98.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-18 09:09:43Z], 1] 14:34:53.611 [debug] QUERY OK source="media_items" db=69.3ms idle=105.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["With construction of the yogcastle in half-swing, the boys get interrupted in their building efforts.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 17: Yogcastle Construction Interrupted", "e50b80ae-8147-4867-9154-4e2ef945502e", 1, [], 718, false, "tchKUw1PA1A", "https://www.youtube.com/watch?v=tchKUw1PA1A", 17, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 17: Yogcastle Construction Interrupted.mp4", false, false, false, 1, ~U[2010-12-18 09:09:43Z], ~U[2025-10-27 18:34:53Z], ~U[2025-10-27 18:34:53Z], "With construction of the yogcastle in half-swing, the boys get interrupted in their building efforts.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 17: Yogcastle Construction Interrupted", 1, 718, false, "tchKUw1PA1A", "https://www.youtube.com/watch?v=tchKUw1PA1A", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 17: Yogcastle Construction Interrupted.mp4", false, ~U[2010-12-18 09:09:43Z]] 14:34:53.615 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms idle=166.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:53.626 [debug] QUERY OK source="media_items" db=10.4ms idle=87.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-19 22:28:23Z], 1] 14:34:53.695 [debug] QUERY OK source="media_items" db=68.4ms queue=0.1ms idle=95.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis chase their mysterious assailant.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 18: Chasing Israphel", "d849b100-fc7b-4bbf-a971-a2e755d76123", 1, [], 733, false, "O2A26hNH03w", "https://www.youtube.com/watch?v=O2A26hNH03w", 18, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 18: Chasing Israphel.mp4", false, false, false, 1, ~U[2010-12-19 22:28:23Z], ~U[2025-10-27 18:34:53Z], ~U[2025-10-27 18:34:53Z], "Simon and Lewis chase their mysterious assailant.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 18: Chasing Israphel", 1, 733, false, "O2A26hNH03w", "https://www.youtube.com/watch?v=O2A26hNH03w", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 18: Chasing Israphel.mp4", false, ~U[2010-12-19 22:28:23Z]] 14:34:53.698 [debug] QUERY OK source="sources" db=3.0ms idle=154.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:53.708 [debug] QUERY OK source="media_items" db=8.9ms queue=0.1ms idle=87.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-20 21:35:03Z], 1] 14:34:53.778 [debug] QUERY OK source="media_items" db=69.8ms idle=93.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The boys take shelter from Israphel under the shadow of their hellgate, and hatch a plan to return to the safety of the yogcastle.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 19: Tunnelling in the Dark (Multiplayer Survival)", "5694e138-880e-405a-8b77-80d83375aecf", 1, [], 645, false, "6XOJ022IxT8", "https://www.youtube.com/watch?v=6XOJ022IxT8", 19, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 19: Tunnelling in the Dark (Multiplayer Survival).mp4", false, false, false, 1, ~U[2010-12-20 21:35:03Z], ~U[2025-10-27 18:34:53Z], ~U[2025-10-27 18:34:53Z], "The boys take shelter from Israphel under the shadow of their hellgate, and hatch a plan to return to the safety of the yogcastle.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 19: Tunnelling in the Dark (Multiplayer Survival)", 1, 645, false, "6XOJ022IxT8", "https://www.youtube.com/watch?v=6XOJ022IxT8", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 19: Tunnelling in the Dark (Multiplayer Survival).mp4", false, ~U[2010-12-20 21:35:03Z]] 14:34:53.782 [debug] QUERY OK source="sources" db=3.0ms queue=0.1ms idle=153.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:53.792 [debug] QUERY OK source="media_items" db=9.5ms idle=87.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-21 19:20:39Z], 1] 14:34:53.882 [debug] QUERY OK source="media_items" db=89.0ms idle=94.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In an ill-conceived idea, Lewis makes some embarrassingly bad stairs up the side of the yogcastle.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 20: Terrible Switchback Stairs", "fc61ffdb-96f5-4946-89c6-25a7adb94329", 1, [], 590, false, "ydmQN4N25Lw", "https://www.youtube.com/watch?v=ydmQN4N25Lw", 20, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 20: Terrible Switchback Stairs.mp4", false, false, false, 1, ~U[2010-12-21 19:20:39Z], ~U[2025-10-27 18:34:53Z], ~U[2025-10-27 18:34:53Z], "In an ill-conceived idea, Lewis makes some embarrassingly bad stairs up the side of the yogcastle.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 20: Terrible Switchback Stairs", 1, 590, false, "ydmQN4N25Lw", "https://www.youtube.com/watch?v=ydmQN4N25Lw", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 20: Terrible Switchback Stairs.mp4", false, ~U[2010-12-21 19:20:39Z]] 14:34:53.886 [debug] QUERY OK source="sources" db=3.6ms queue=0.1ms idle=174.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:53.896 [debug] QUERY OK source="media_items" db=9.2ms queue=0.1ms idle=108.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-22 22:45:24Z], 1] 14:34:53.991 [debug] QUERY OK source="media_items" db=94.1ms idle=114.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis get to work pimping out the yogcastle but are again distracted by rude interruptions to their construction efforts.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 21: Ceiling Construction Interrupted", "5b8c0c16-2038-4264-b7fe-d1d7d3f61e0d", 1, [], 746, false, "CcIfbF0ZpSs", "https://www.youtube.com/watch?v=CcIfbF0ZpSs", 21, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 21: Ceiling Construction Interrupted.mp4", false, false, false, 1, ~U[2010-12-22 22:45:24Z], ~U[2025-10-27 18:34:53Z], ~U[2025-10-27 18:34:53Z], "Simon and Lewis get to work pimping out the yogcastle but are again distracted by rude interruptions to their construction efforts.\r\n\r\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\r\n● Facebook: http://www.facebook.com/yogscast\r\n● Twitter: http://www.twitter.com/yogscast\r\n● Forums: http://yogscast.com/forum.php\r\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 21: Ceiling Construction Interrupted", 1, 746, false, "CcIfbF0ZpSs", "https://www.youtube.com/watch?v=CcIfbF0ZpSs", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 21: Ceiling Construction Interrupted.mp4", false, ~U[2010-12-22 22:45:24Z]] 14:34:53.995 [debug] QUERY OK source="sources" db=2.8ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:54.005 [debug] QUERY OK source="media_items" db=10.3ms idle=113.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-23 20:04:39Z], 1] 14:34:54.075 [debug] QUERY OK source="media_items" db=68.8ms idle=119.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["William Ryker and his dwarvish companion follow a strange path.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 22: Old Peculier", "0f03e7b4-1c91-455d-8754-56b932b79ec9", 1, [], 671, false, "EOSA5aoQzGM", "https://www.youtube.com/watch?v=EOSA5aoQzGM", 22, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 22: Old Peculier.mp4", false, false, false, 1, ~U[2010-12-23 20:04:39Z], ~U[2025-10-27 18:34:54Z], ~U[2025-10-27 18:34:54Z], "William Ryker and his dwarvish companion follow a strange path.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 22: Old Peculier", 1, 671, false, "EOSA5aoQzGM", "https://www.youtube.com/watch?v=EOSA5aoQzGM", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 22: Old Peculier.mp4", false, ~U[2010-12-23 20:04:39Z]] 14:34:54.080 [debug] QUERY OK source="sources" db=4.1ms queue=0.1ms idle=179.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:54.092 [debug] QUERY OK source="media_items" db=11.5ms queue=0.1ms idle=89.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-24 11:16:56Z], 1] 14:34:54.176 [debug] QUERY OK source="media_items" db=82.8ms queue=0.1ms idle=97.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The boys provide assistance to some people on their server.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 23: The House on the Hill", "2a2628eb-adf6-46b7-a1ea-f110c67d6a9d", 1, [], 682, false, "I__qd7fBK_c", "https://www.youtube.com/watch?v=I__qd7fBK_c", 23, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 23: The House on the Hill.mp4", false, false, false, 1, ~U[2010-12-24 11:16:56Z], ~U[2025-10-27 18:34:54Z], ~U[2025-10-27 18:34:54Z], "The boys provide assistance to some people on their server.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 23: The House on the Hill", 1, 682, false, "I__qd7fBK_c", "https://www.youtube.com/watch?v=I__qd7fBK_c", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 23: The House on the Hill.mp4", false, ~U[2010-12-24 11:16:56Z]] 14:34:54.180 [debug] QUERY OK source="sources" db=3.7ms queue=0.1ms idle=170.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:54.193 [debug] QUERY OK source="media_items" db=12.3ms idle=105.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-26 14:44:28Z], 1] 14:34:54.270 [debug] QUERY OK source="media_items" db=76.6ms idle=113.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["William Ryker and his dwarven pal continue to assist some strange people that have made their home on the server.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 24: Troubling Events in Terrorvale", "1de9a48c-03a1-4c7a-a2b7-4afd5ec63afc", 1, [], 674, false, "exi05W1LWek", "https://www.youtube.com/watch?v=exi05W1LWek", 24, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 24: Troubling Events in Terrorvale.mp4", false, false, false, 1, ~U[2010-12-26 14:44:28Z], ~U[2025-10-27 18:34:54Z], ~U[2025-10-27 18:34:54Z], "William Ryker and his dwarven pal continue to assist some strange people that have made their home on the server.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 24: Troubling Events in Terrorvale", 1, 674, false, "exi05W1LWek", "https://www.youtube.com/watch?v=exi05W1LWek", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 24: Troubling Events in Terrorvale.mp4", false, ~U[2010-12-26 14:44:28Z]] 14:34:54.274 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=179.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:54.285 [debug] QUERY OK source="media_items" db=10.5ms queue=0.1ms idle=98.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-27 20:47:39Z], 1] 14:34:54.354 [debug] QUERY OK source="media_items" db=67.8ms idle=105.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis continue to investigate the disturbing goings-on in Terrorvale.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 25: A Sinister Discovery", "eed0ed70-c5d2-4687-adda-e673b7147aa7", 1, [], 585, false, "JuKFsaXhqRM", "https://www.youtube.com/watch?v=JuKFsaXhqRM", 25, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 25: A Sinister Discovery.mp4", false, false, false, 1, ~U[2010-12-27 20:47:39Z], ~U[2025-10-27 18:34:54Z], ~U[2025-10-27 18:34:54Z], "Simon and Lewis continue to investigate the disturbing goings-on in Terrorvale.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 25: A Sinister Discovery", 1, 585, false, "JuKFsaXhqRM", "https://www.youtube.com/watch?v=JuKFsaXhqRM", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 25: A Sinister Discovery.mp4", false, ~U[2010-12-27 20:47:39Z]] 14:34:54.357 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=161.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:54.365 [debug] QUERY OK source="media_items" db=7.9ms idle=86.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-28 19:16:20Z], 1] 14:34:54.438 [debug] QUERY OK source="media_items" db=72.4ms idle=91.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis visit Israphel's Tomb, and, er, well, you'll see.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 26: The Tomb", "ad441afc-2d32-48d2-9004-ec15a3c36dd9", 1, [], 520, false, "4522OA2MMFY", "https://www.youtube.com/watch?v=4522OA2MMFY", 26, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 26: The Tomb.mp4", false, false, false, 1, ~U[2010-12-28 19:16:20Z], ~U[2025-10-27 18:34:54Z], ~U[2025-10-27 18:34:54Z], "Simon and Lewis visit Israphel's Tomb, and, er, well, you'll see.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 26: The Tomb", 1, 520, false, "4522OA2MMFY", "https://www.youtube.com/watch?v=4522OA2MMFY", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 26: The Tomb.mp4", false, ~U[2010-12-28 19:16:20Z]] 14:34:54.442 [debug] QUERY OK source="sources" db=3.4ms queue=0.1ms idle=85.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:54.453 [debug] QUERY OK source="media_items" db=9.8ms queue=0.1ms idle=85.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2010-12-29 21:46:46Z], 1] 14:34:54.522 [debug] QUERY OK source="media_items" db=68.6ms idle=88.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The grand finale to season 1 of our minecraft series!\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 27: The Tunnel Run", "05318997-9baf-4203-ad53-c094d5c7dda9", 1, [], 1019, false, "3dfhDAdP-CQ", "https://www.youtube.com/watch?v=3dfhDAdP-CQ", 27, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 27: The Tunnel Run.mp4", false, false, false, 1, ~U[2010-12-29 21:46:46Z], ~U[2025-10-27 18:34:54Z], ~U[2025-10-27 18:34:54Z], "The grand finale to season 1 of our minecraft series!\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - Part 27: The Tunnel Run", 1, 1019, false, "3dfhDAdP-CQ", "https://www.youtube.com/watch?v=3dfhDAdP-CQ", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Part 27: The Tunnel Run.mp4", false, ~U[2010-12-29 21:46:46Z]] 14:34:54.525 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms idle=133.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:54.535 [debug] QUERY OK source="media_items" db=9.4ms idle=87.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-03 02:19:05Z], 1] 14:34:54.618 [debug] QUERY OK source="media_items" db=82.0ms idle=93.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n▬▬▬▬▬\n\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nFacebook: https://www.facebook.com/yogscast/\nWatch us live on Twitch.tv every day! http://www.twitch.tv/yogscast/\n\n▬▬▬▬▬\n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT", "Minecraft - \"Survival Island\" Part 1: Precious Dirt", "180ff5b4-f7c3-40a4-b1a8-d55490db15cb", 1, [], 1078, false, "BcsN3d7eKgY", "https://www.youtube.com/watch?v=BcsN3d7eKgY", 28, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 1: Precious Dirt.mp4", false, false, false, 2, ~U[2011-01-03 02:19:05Z], ~U[2025-10-27 18:34:54Z], ~U[2025-10-27 18:34:54Z], "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n▬▬▬▬▬\n\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n💖 BECOME A MEMBER: https://yogsca.st/youtubemembers\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nFacebook: https://www.facebook.com/yogscast/\nWatch us live on Twitch.tv every day! http://www.twitch.tv/yogscast/\n\n▬▬▬▬▬\n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT", "Minecraft - \"Survival Island\" Part 1: Precious Dirt", 1, 1078, false, "BcsN3d7eKgY", "https://www.youtube.com/watch?v=BcsN3d7eKgY", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 1: Precious Dirt.mp4", false, ~U[2011-01-03 02:19:05Z]] 14:34:54.622 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=166.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:54.632 [debug] QUERY OK source="media_items" db=10.1ms queue=0.1ms idle=100.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-03 21:02:53Z], 1] 14:34:54.711 [debug] QUERY OK source="media_items" db=77.3ms idle=107.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 2: I have a sense of impending doom", "b8c5921c-0c75-4b83-bde5-dedd26c3afc1", 1, [], 849, false, "4uH58nL-RmQ", "https://www.youtube.com/watch?v=4uH58nL-RmQ", 29, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 2: I have a sense of impending doom.mp4", false, false, false, 2, ~U[2011-01-03 21:02:53Z], ~U[2025-10-27 18:34:54Z], ~U[2025-10-27 18:34:54Z], "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 2: I have a sense of impending doom", 1, 849, false, "4uH58nL-RmQ", "https://www.youtube.com/watch?v=4uH58nL-RmQ", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 2: I have a sense of impending doom.mp4", false, ~U[2011-01-03 21:02:53Z]] 14:34:54.714 [debug] QUERY OK source="sources" db=2.7ms idle=175.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:54.725 [debug] QUERY OK source="media_items" db=10.2ms idle=96.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-04 22:15:08Z], 1] 14:34:54.811 [debug] QUERY OK source="media_items" db=85.6ms idle=103.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 3: Mushroom on toast", "022aba2d-999a-492b-9cf4-7128175d421b", 1, [], 894, false, "8rXxZ2J_Q10", "https://www.youtube.com/watch?v=8rXxZ2J_Q10", 30, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 3: Mushroom on toast.mp4", false, false, false, 1, ~U[2011-01-04 22:15:08Z], ~U[2025-10-27 18:34:54Z], ~U[2025-10-27 18:34:54Z], "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 3: Mushroom on toast", 1, 894, false, "8rXxZ2J_Q10", "https://www.youtube.com/watch?v=8rXxZ2J_Q10", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 3: Mushroom on toast.mp4", false, ~U[2011-01-04 22:15:08Z]] 14:34:54.814 [debug] QUERY OK source="sources" db=2.7ms idle=179.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:54.825 [debug] QUERY OK source="media_items" db=9.7ms queue=0.1ms idle=104.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-05 22:17:10Z], 1] 14:34:54.904 [debug] QUERY OK source="media_items" db=78.8ms idle=111.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 4: Other breads are available", "47f612fc-f38b-4522-a835-bfc548c2bd5f", 1, [], 927, false, "iEDnzk_XAfM", "https://www.youtube.com/watch?v=iEDnzk_XAfM", 31, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 4: Other breads are available.mp4", false, false, false, 1, ~U[2011-01-05 22:17:10Z], ~U[2025-10-27 18:34:54Z], ~U[2025-10-27 18:34:54Z], "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 4: Other breads are available", 1, 927, false, "iEDnzk_XAfM", "https://www.youtube.com/watch?v=iEDnzk_XAfM", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 4: Other breads are available.mp4", false, ~U[2011-01-05 22:17:10Z]] 14:34:54.908 [debug] QUERY OK source="sources" db=3.1ms queue=0.1ms idle=180.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:54.919 [debug] QUERY OK source="media_items" db=10.0ms idle=97.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-06 22:31:07Z], 1] 14:34:54.988 [debug] QUERY OK source="media_items" db=68.8ms idle=104.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 5: Food and Shelter (and Zombies)", "d7fb4dd2-57c8-4e72-911d-4bb72fd07559", 1, [], 822, false, "TmOKsR7nxO8", "https://www.youtube.com/watch?v=TmOKsR7nxO8", 32, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 5: Food and Shelter (and Zombies).mp4", false, false, false, 1, ~U[2011-01-06 22:31:07Z], ~U[2025-10-27 18:34:54Z], ~U[2025-10-27 18:34:54Z], "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\nDokus' RPG texture pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 5: Food and Shelter (and Zombies)", 1, 822, false, "TmOKsR7nxO8", "https://www.youtube.com/watch?v=TmOKsR7nxO8", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 5: Food and Shelter (and Zombies).mp4", false, ~U[2011-01-06 22:31:07Z]] 14:34:54.992 [debug] QUERY OK source="sources" db=3.1ms queue=0.1ms idle=164.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:55.003 [debug] QUERY OK source="media_items" db=10.4ms queue=0.1ms idle=88.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-07 21:28:19Z], 1] 14:34:55.081 [debug] QUERY OK source="media_items" db=77.0ms idle=95.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) Dokus' RPG texture pack - check the latest posts in the thread for the most up-to-date pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 6: Burn you hellish fiends! Burn!", "4e5e5604-3c00-405f-bc87-e5fe59d74063", 1, [], 672, false, "RJKl6htBbK4", "https://www.youtube.com/watch?v=RJKl6htBbK4", 33, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 6: Burn you hellish fiends! Burn!.mp4", false, false, false, 1, ~U[2011-01-07 21:28:19Z], ~U[2025-10-27 18:34:55Z], ~U[2025-10-27 18:34:55Z], "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) Dokus' RPG texture pack - check the latest posts in the thread for the most up-to-date pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 6: Burn you hellish fiends! Burn!", 1, 672, false, "RJKl6htBbK4", "https://www.youtube.com/watch?v=RJKl6htBbK4", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 6: Burn you hellish fiends! Burn!.mp4", false, ~U[2011-01-07 21:28:19Z]] 14:34:55.084 [debug] QUERY OK source="sources" db=3.0ms idle=162.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:55.095 [debug] QUERY OK source="media_items" db=10.0ms idle=96.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-08 23:11:01Z], 1] 14:34:55.190 [debug] QUERY OK source="media_items" db=94.3ms idle=103.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) Dokus' RPG texture pack - check the latest posts in the thread for the most up-to-date pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 7: You don't want to see me getting wool from a sheep!", "c29215fa-6dc9-420b-98e8-50be127d61c0", 1, [], 828, false, "DyR0UcQN-1Q", "https://www.youtube.com/watch?v=DyR0UcQN-1Q", 34, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 7: You don't want to see me getting wool from a sheep!.mp4", false, false, false, 1, ~U[2011-01-08 23:11:01Z], ~U[2025-10-27 18:34:55Z], ~U[2025-10-27 18:34:55Z], "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) Dokus' RPG texture pack - check the latest posts in the thread for the most up-to-date pack: http://www.minecraftforum.net/viewtopic.php?t=25676\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 7: You don't want to see me getting wool from a sheep!", 1, 828, false, "DyR0UcQN-1Q", "https://www.youtube.com/watch?v=DyR0UcQN-1Q", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 7: You don't want to see me getting wool from a sheep!.mp4", false, ~U[2011-01-08 23:11:01Z]] 14:34:55.195 [debug] QUERY OK source="sources" db=3.9ms queue=0.1ms idle=187.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:55.207 [debug] QUERY OK source="media_items" db=12.2ms queue=0.1ms idle=114.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-09 22:55:34Z], 1] 14:34:55.314 [debug] QUERY OK source="media_items" db=105.0ms queue=0.1ms idle=123.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) (GERU)Dokus' RPG texture pack - new thread is here: http://www.minecraftforum.net/viewtopic.php?f=1021&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 8: help!", "a9acf735-ad0e-45d4-8c0c-1339cd00f3f7", 1, [], 942, false, "VfT__rMmzDY", "https://www.youtube.com/watch?v=VfT__rMmzDY", 35, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 8: help!.mp4", false, false, false, 1, ~U[2011-01-09 22:55:34Z], ~U[2025-10-27 18:34:55Z], ~U[2025-10-27 18:34:55Z], "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) (GERU)Dokus' RPG texture pack - new thread is here: http://www.minecraftforum.net/viewtopic.php?f=1021&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 8: help!", 1, 942, false, "VfT__rMmzDY", "https://www.youtube.com/watch?v=VfT__rMmzDY", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 8: help!.mp4", false, ~U[2011-01-09 22:55:34Z]] 14:34:55.318 [debug] QUERY OK source="sources" db=3.9ms queue=0.1ms idle=219.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:55.329 [debug] QUERY OK source="media_items" db=10.4ms idle=128.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-10 22:31:46Z], 1] 14:34:55.422 [debug] QUERY OK source="media_items" db=92.0ms idle=135.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) (GERU)Dokus' RPG texture pack - new thread is here: http://www.minecraftforum.net/viewtopic.php?f=1021&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 9: Challenges Complete!", "4f485e99-ef69-48e9-ab65-618aea2e479f", 1, [], 728, false, "XD78zk7ke2s", "https://www.youtube.com/watch?v=XD78zk7ke2s", 36, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 9: Challenges Complete!.mp4", false, false, false, 1, ~U[2011-01-10 22:31:46Z], ~U[2025-10-27 18:34:55Z], ~U[2025-10-27 18:34:55Z], "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) (GERU)Dokus' RPG texture pack - new thread is here: http://www.minecraftforum.net/viewtopic.php?f=1021&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 9: Challenges Complete!", 1, 728, false, "XD78zk7ke2s", "https://www.youtube.com/watch?v=XD78zk7ke2s", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 9: Challenges Complete!.mp4", false, ~U[2011-01-10 22:31:46Z]] 14:34:55.425 [debug] QUERY OK source="sources" db=2.8ms idle=109.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:55.437 [debug] QUERY OK source="media_items" db=11.0ms queue=0.1ms idle=107.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-11 17:18:16Z], 1] 14:34:55.517 [debug] QUERY OK source="media_items" db=79.0ms idle=108.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) (GERU)Dokus' RPG texture pack - new thread is here: http://www.minecraftforum.net/viewtopic.php?f=1021&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 10: The Curator's Lost Treasure", "0b1a5ac0-288b-4224-a01e-d208cc648b79", 1, [], 817, false, "Rsz66Qqgd50", "https://www.youtube.com/watch?v=Rsz66Qqgd50", 37, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 10: The Curator's Lost Treasure.mp4", false, false, false, 1, ~U[2011-01-11 17:18:16Z], ~U[2025-10-27 18:34:55Z], ~U[2025-10-27 18:34:55Z], "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) (GERU)Dokus' RPG texture pack - new thread is here: http://www.minecraftforum.net/viewtopic.php?f=1021&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 10: The Curator's Lost Treasure", 1, 817, false, "Rsz66Qqgd50", "https://www.youtube.com/watch?v=Rsz66Qqgd50", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 10: The Curator's Lost Treasure.mp4", false, ~U[2011-01-11 17:18:16Z]] 14:34:55.520 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=95.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:55.531 [debug] QUERY OK source="media_items" db=10.2ms idle=95.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-12 20:25:28Z], 1] 14:34:55.610 [debug] QUERY OK source="media_items" db=77.9ms queue=0.1ms idle=105.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) (GERU)Dokus' RPG texture pack - new thread is here: http://www.minecraftforum.net/viewtopic.php?f=1021&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 11: Up and away!", "a2d054a4-c353-4172-acf9-5fe99450fe1e", 1, [], 1158, false, "ZvaOr6b9yYk", "https://www.youtube.com/watch?v=ZvaOr6b9yYk", 38, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 11: Up and away!.mp4", false, false, false, 1, ~U[2011-01-12 20:25:28Z], ~U[2025-10-27 18:34:55Z], ~U[2025-10-27 18:34:55Z], "While waiting for Notch to fix Nether Portals in Survival Multiplayer, Simon and Lewis vow to continue bringing you Minecraft videos by trying out \"custom maps\". \n\nFirst off, \"Survival Island\" a tough challenge where you have to survive on a desert island with limited resources! Lewis and Simon are playing this IRONMAN, which means if either of them die, they fail.\n\nSurvival Island Scenario: http://www.minecraftforum.net/viewtopic.php?f=1020&t=117731\n(Modified) (GERU)Dokus' RPG texture pack - new thread is here: http://www.minecraftforum.net/viewtopic.php?f=1021&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Survival Island\" Part 11: Up and away!", 1, 1158, false, "ZvaOr6b9yYk", "https://www.youtube.com/watch?v=ZvaOr6b9yYk", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Survival Island" Part 11: Up and away!.mp4", false, ~U[2011-01-12 20:25:28Z]] 14:34:55.614 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms idle=173.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:55.624 [debug] QUERY OK source="media_items" db=9.8ms queue=0.1ms idle=97.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-27 21:26:21Z], 1] 14:34:55.702 [debug] QUERY OK source="media_items" db=77.0ms idle=104.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The heroes finally return home, after a gruelling period on the Survival Island - to find that the world they left behind has changed for the worse. They must gather what resources they have and set out on a new adventure!\n\nHuge thanks to Variede for the starting cutscene and bonus stuff, subscribe to his channel here! Very reasonable rates! http://www.youtube.com/vareide\n\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Part 1: Crash and Burn", "d903541a-2893-43cb-9d21-2bbcca581047", 1, [], 869, false, "2Gi9-UZKYo4", "https://www.youtube.com/watch?v=2Gi9-UZKYo4", 39, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 1: Crash and Burn.mp4", false, false, false, 1, ~U[2011-01-27 21:26:21Z], ~U[2025-10-27 18:34:55Z], ~U[2025-10-27 18:34:55Z], "The heroes finally return home, after a gruelling period on the Survival Island - to find that the world they left behind has changed for the worse. They must gather what resources they have and set out on a new adventure!\n\nHuge thanks to Variede for the starting cutscene and bonus stuff, subscribe to his channel here! Very reasonable rates! http://www.youtube.com/vareide\n\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Part 1: Crash and Burn", 1, 869, false, "2Gi9-UZKYo4", "https://www.youtube.com/watch?v=2Gi9-UZKYo4", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 1: Crash and Burn.mp4", false, ~U[2011-01-27 21:26:21Z]] 14:34:55.706 [debug] QUERY OK source="sources" db=3.0ms idle=171.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:55.717 [debug] QUERY OK source="media_items" db=10.3ms idle=96.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-28 21:36:14Z], 1] 14:34:55.828 [debug] QUERY OK source="media_items" db=110.3ms idle=103.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Reeling from the loss of the yogcave, Simon and Lewis set off down a broken road leading to a mysterious city. They must press on through the night, and more surprises await them!\n\nHuge thanks to Variede for the bonus cutscenes, subscribe to his channel here! Very reasonable rates! http://www.youtube.com/vareide\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 2: The Road to Mistral", "e929ac38-09aa-481a-a38e-345c44fa7edc", 1, [], 806, false, "FyR1QAHdAoE", "https://www.youtube.com/watch?v=FyR1QAHdAoE", 40, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 2: The Road to Mistral.mp4", false, false, false, 1, ~U[2011-01-28 21:36:14Z], ~U[2025-10-27 18:34:55Z], ~U[2025-10-27 18:34:55Z], "Reeling from the loss of the yogcave, Simon and Lewis set off down a broken road leading to a mysterious city. They must press on through the night, and more surprises await them!\n\nHuge thanks to Variede for the bonus cutscenes, subscribe to his channel here! Very reasonable rates! http://www.youtube.com/vareide\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 2: The Road to Mistral", 1, 806, false, "FyR1QAHdAoE", "https://www.youtube.com/watch?v=FyR1QAHdAoE", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 2: The Road to Mistral.mp4", false, ~U[2011-01-28 21:36:14Z]] 14:34:55.833 [debug] QUERY OK source="sources" db=4.4ms idle=204.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:55.848 [debug] QUERY OK source="media_items" db=14.9ms queue=0.1ms idle=131.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-29 21:42:16Z], 1] 14:34:56.321 [debug] QUERY OK source="media_items" db=471.7ms idle=143.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Lysander gives the heroes a tour of Mistral City, and they meet a range of interesting new characters!\n\nPlease like and favourite to support this series! Huge thanks to Variede for the starting cutscene and bonus stuff, subscribe to his channel here! Very reasonable rates! http://www.youtube.com/vareide\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 3: I DEMAND YOUR FINEST BACON!", "bf0f2bfe-a49f-45b1-8b0d-9cf714577315", 1, [], 923, false, "3JFSMR0ujgg", "https://www.youtube.com/watch?v=3JFSMR0ujgg", 41, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 3: I DEMAND YOUR FINEST BACON!.mp4", false, false, false, 1, ~U[2011-01-29 21:42:16Z], ~U[2025-10-27 18:34:55Z], ~U[2025-10-27 18:34:55Z], "Lysander gives the heroes a tour of Mistral City, and they meet a range of interesting new characters!\n\nPlease like and favourite to support this series! Huge thanks to Variede for the starting cutscene and bonus stuff, subscribe to his channel here! Very reasonable rates! http://www.youtube.com/vareide\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 3: I DEMAND YOUR FINEST BACON!", 1, 923, false, "3JFSMR0ujgg", "https://www.youtube.com/watch?v=3JFSMR0ujgg", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 3: I DEMAND YOUR FINEST BACON!.mp4", false, ~U[2011-01-29 21:42:16Z]] 14:34:56.325 [debug] QUERY OK source="sources" db=3.2ms queue=0.1ms idle=604.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:56.336 [debug] QUERY OK source="media_items" db=10.5ms idle=497.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-30 21:37:59Z], 1] 14:34:56.422 [debug] QUERY OK source="media_items" db=85.0ms idle=503.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The boys finally have some direction, and must seek out a secretive wizard to enlist his aid in curing the sickness that is paralysing Old Peculier.\n\nPlease like and favourite to support this series! Huge thanks to Variede for the starting cutscene and bonus stuff, subscribe to his channel here! Very reasonable rates! http://www.youtube.com/vareide\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 4: Proper Quest", "a2796af2-1e0c-486b-9ebb-9ece5143b906", 1, [], 1203, false, "aLUcd9UDzuo", "https://www.youtube.com/watch?v=aLUcd9UDzuo", 42, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 4: Proper Quest.mp4", false, false, false, 1, ~U[2011-01-30 21:37:59Z], ~U[2025-10-27 18:34:56Z], ~U[2025-10-27 18:34:56Z], "The boys finally have some direction, and must seek out a secretive wizard to enlist his aid in curing the sickness that is paralysing Old Peculier.\n\nPlease like and favourite to support this series! Huge thanks to Variede for the starting cutscene and bonus stuff, subscribe to his channel here! Very reasonable rates! http://www.youtube.com/vareide\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 4: Proper Quest", 1, 1203, false, "aLUcd9UDzuo", "https://www.youtube.com/watch?v=aLUcd9UDzuo", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 4: Proper Quest.mp4", false, ~U[2011-01-30 21:37:59Z]] 14:34:56.425 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=573.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:56.434 [debug] QUERY OK source="media_items" db=9.0ms queue=0.1ms idle=104.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-01-31 21:47:29Z], 1] 14:34:56.514 [debug] QUERY OK source="media_items" db=78.5ms idle=99.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon distracts Lysander while Lewis attempts to complete Fumblemore's quest. \n\nHuge thanks to Yognaut Michael for the intro splash, Variede for the bonus cutscenes and Lalna for all his hard work, help, and superb art. \n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 5: Breakfast Distraction", "4388d927-7e21-4608-a08e-d699b2caa373", 1, [], 911, false, "ahX3E1wr8SM", "https://www.youtube.com/watch?v=ahX3E1wr8SM", 43, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 5: Breakfast Distraction.mp4", false, false, false, 1, ~U[2011-01-31 21:47:29Z], ~U[2025-10-27 18:34:56Z], ~U[2025-10-27 18:34:56Z], "Simon distracts Lysander while Lewis attempts to complete Fumblemore's quest. \n\nHuge thanks to Yognaut Michael for the intro splash, Variede for the bonus cutscenes and Lalna for all his hard work, help, and superb art. \n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 5: Breakfast Distraction", 1, 911, false, "ahX3E1wr8SM", "https://www.youtube.com/watch?v=ahX3E1wr8SM", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 5: Breakfast Distraction.mp4", false, ~U[2011-01-31 21:47:29Z]] 14:34:56.517 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=92.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:56.529 [debug] QUERY OK source="media_items" db=10.9ms idle=92.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-02-01 22:41:15Z], 1] 14:34:56.606 [debug] QUERY OK source="media_items" db=76.8ms idle=100.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Lewis continues the search for Fumblemore's items, and the boys discover that obtaining an unusual item will be more dangerous than anyone could have expected.\n\nHuge thanks to Matthew McDonald for the superb intro splash: http://notherbear.deviantart.com\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 6: Mission Impossible", "e467952f-f759-444d-a5f4-d3a52dc42d78", 1, [], 936, false, "nzCYc8br0Mw", "https://www.youtube.com/watch?v=nzCYc8br0Mw", 44, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 6: Mission Impossible.mp4", false, false, false, 1, ~U[2011-02-01 22:41:15Z], ~U[2025-10-27 18:34:56Z], ~U[2025-10-27 18:34:56Z], "Lewis continues the search for Fumblemore's items, and the boys discover that obtaining an unusual item will be more dangerous than anyone could have expected.\n\nHuge thanks to Matthew McDonald for the superb intro splash: http://notherbear.deviantart.com\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 6: Mission Impossible", 1, 936, false, "nzCYc8br0Mw", "https://www.youtube.com/watch?v=nzCYc8br0Mw", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 6: Mission Impossible.mp4", false, ~U[2011-02-01 22:41:15Z]] 14:34:56.610 [debug] QUERY OK source="sources" db=2.7ms idle=172.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:56.623 [debug] QUERY OK source="media_items" db=12.7ms queue=0.1ms idle=96.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-02-02 21:45:35Z], 1] 14:34:56.699 [debug] QUERY OK source="media_items" db=74.8ms idle=106.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The boys make headway in their quest, albeit after taking some losses.\n\nPlease like and favourite to support this series! Huge thanks to Lalna, our genius artist and architect for the superb intro splash and pretty much everything else!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 7: Reburglarize", "02294ece-4894-48c3-8ac9-03d5a480056e", 1, [], 800, false, "vvFgRcgQ0d4", "https://www.youtube.com/watch?v=vvFgRcgQ0d4", 45, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 7: Reburglarize.mp4", false, false, false, 1, ~U[2011-02-02 21:45:35Z], ~U[2025-10-27 18:34:56Z], ~U[2025-10-27 18:34:56Z], "The boys make headway in their quest, albeit after taking some losses.\n\nPlease like and favourite to support this series! Huge thanks to Lalna, our genius artist and architect for the superb intro splash and pretty much everything else!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 7: Reburglarize", 1, 800, false, "vvFgRcgQ0d4", "https://www.youtube.com/watch?v=vvFgRcgQ0d4", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 7: Reburglarize.mp4", false, ~U[2011-02-02 21:45:35Z]] 14:34:56.702 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms idle=170.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:56.712 [debug] QUERY OK source="media_items" db=9.8ms idle=96.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-02-03 21:16:43Z], 1] 14:34:56.788 [debug] QUERY OK source="media_items" db=74.8ms idle=103.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["With Old Peculier back on his feet, the heroes are plunged into a new adventure, following in the footsteps of Peculier's missing father. \n\nHuge thanks to Lalna, our genius artist and architect for the superb intro splash and pretty much everything else!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 8: Diggy Diggy Hole", "09bb30f7-414f-45f6-8ab6-9f045e2c34a2", 1, [], 795, false, "IK7hbdLgLOg", "https://www.youtube.com/watch?v=IK7hbdLgLOg", 46, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 8: Diggy Diggy Hole.mp4", false, false, false, 1, ~U[2011-02-03 21:16:43Z], ~U[2025-10-27 18:34:56Z], ~U[2025-10-27 18:34:56Z], "With Old Peculier back on his feet, the heroes are plunged into a new adventure, following in the footsteps of Peculier's missing father. \n\nHuge thanks to Lalna, our genius artist and architect for the superb intro splash and pretty much everything else!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 8: Diggy Diggy Hole", 1, 795, false, "IK7hbdLgLOg", "https://www.youtube.com/watch?v=IK7hbdLgLOg", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 8: Diggy Diggy Hole.mp4", false, ~U[2011-02-03 21:16:43Z]] 14:34:56.791 [debug] QUERY OK source="sources" db=2.9ms idle=165.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:56.800 [debug] QUERY OK source="media_items" db=8.4ms queue=0.1ms idle=93.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-02-04 21:42:15Z], 1] 14:34:56.875 [debug] QUERY OK source="media_items" db=73.7ms idle=98.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis investigate a long-abandoned mineshaft and discover a terrible secret. Please like and favourite to support this series! Huge thanks to Blake Evans, for the utterly epic conclusion.\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - \"Shadow of Israphel\" Part 9: The Abandoned Mine", "1dbbf2a1-ed02-45ae-bbea-6d9ea6041718", 1, [], 729, false, "Whj0mA330pQ", "https://www.youtube.com/watch?v=Whj0mA330pQ", 47, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 9: The Abandoned Mine.mp4", false, false, false, 1, ~U[2011-02-04 21:42:15Z], ~U[2025-10-27 18:34:56Z], ~U[2025-10-27 18:34:56Z], "Simon and Lewis investigate a long-abandoned mineshaft and discover a terrible secret. Please like and favourite to support this series! Huge thanks to Blake Evans, for the utterly epic conclusion.\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - \"Shadow of Israphel\" Part 9: The Abandoned Mine", 1, 729, false, "Whj0mA330pQ", "https://www.youtube.com/watch?v=Whj0mA330pQ", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 9: The Abandoned Mine.mp4", false, ~U[2011-02-04 21:42:15Z]] 14:34:56.879 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms idle=163.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:56.888 [debug] QUERY OK source="media_items" db=8.9ms idle=91.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-02-08 21:56:52Z], 1] 14:34:56.959 [debug] QUERY OK source="media_items" db=70.0ms idle=97.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Please like and favourite to support this series!\n\nTitle Splashscreen by Indignation: http://browse.deviantart.com/?qh=§ion=&q=honeydew+flint+and+steel#/d38rhl5\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 10: Revelations", "c0a205bf-b46e-4ace-a6b5-4a411258abde", 1, [], 1022, false, "E_sIiQdHOrA", "https://www.youtube.com/watch?v=E_sIiQdHOrA", 48, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 10: Revelations.mp4", false, false, false, 1, ~U[2011-02-08 21:56:52Z], ~U[2025-10-27 18:34:56Z], ~U[2025-10-27 18:34:56Z], "Please like and favourite to support this series!\n\nTitle Splashscreen by Indignation: http://browse.deviantart.com/?qh=§ion=&q=honeydew+flint+and+steel#/d38rhl5\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 10: Revelations", 1, 1022, false, "E_sIiQdHOrA", "https://www.youtube.com/watch?v=E_sIiQdHOrA", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 10: Revelations.mp4", false, ~U[2011-02-08 21:56:52Z]] 14:34:56.962 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=159.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:56.973 [debug] QUERY OK source="media_items" db=10.2ms queue=0.2ms idle=88.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-02-10 20:16:14Z], 1] 14:34:57.053 [debug] QUERY OK source="media_items" db=78.8ms queue=0.1ms idle=95.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Please like and favourite to support this series!\n\nTitle Splashscreen by Snekcid: http://snekcid.deviantart.com/gallery/#/d391mlb\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 11: The Crumbling Ruin", "9d6370e2-b483-4664-a07a-92ea73be64e8", 1, [], 1179, false, "80GSvackaxk", "https://www.youtube.com/watch?v=80GSvackaxk", 49, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 11: The Crumbling Ruin.mp4", false, false, false, 1, ~U[2011-02-10 20:16:14Z], ~U[2025-10-27 18:34:56Z], ~U[2025-10-27 18:34:56Z], "Please like and favourite to support this series!\n\nTitle Splashscreen by Snekcid: http://snekcid.deviantart.com/gallery/#/d391mlb\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is DSB's Gerudoku remix, around page 17 of this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 11: The Crumbling Ruin", 1, 1179, false, "80GSvackaxk", "https://www.youtube.com/watch?v=80GSvackaxk", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 11: The Crumbling Ruin.mp4", false, ~U[2011-02-10 20:16:14Z]] 14:34:57.056 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=165.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:57.066 [debug] QUERY OK source="media_items" db=9.6ms idle=97.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-02-27 22:02:30Z], 1] 14:34:57.176 [debug] QUERY OK source="media_items" db=109.6ms idle=104.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Please like and favourite to support this series!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - \"Shadow of Israphel\" Part 12: Beyond Skull Pass", "3b498f0e-998b-4629-b1ae-da589a0e3577", 1, [], 1005, false, "3vcnhbHtwJ0", "https://www.youtube.com/watch?v=3vcnhbHtwJ0", 50, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 12: Beyond Skull Pass.mp4", false, false, false, 1, ~U[2011-02-27 22:02:30Z], ~U[2025-10-27 18:34:57Z], ~U[2025-10-27 18:34:57Z], "Please like and favourite to support this series!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - \"Shadow of Israphel\" Part 12: Beyond Skull Pass", 1, 1005, false, "3vcnhbHtwJ0", "https://www.youtube.com/watch?v=3vcnhbHtwJ0", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 12: Beyond Skull Pass.mp4", false, ~U[2011-02-27 22:02:30Z]] 14:34:57.180 [debug] QUERY OK source="sources" db=3.0ms idle=203.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:57.191 [debug] QUERY OK source="media_items" db=10.2ms queue=0.1ms idle=127.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-03-01 22:09:39Z], 1] 14:34:57.290 [debug] QUERY OK source="media_items" db=98.2ms idle=135.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Please like and favourite to support this series!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 13: World's Strongest Dwarf", "a9f6dd06-e701-4fb5-97f0-d4a982b412a2", 1, [], 1028, false, "8kJRzEfs1qQ", "https://www.youtube.com/watch?v=8kJRzEfs1qQ", 51, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 13: World's Strongest Dwarf.mp4", false, false, false, 1, ~U[2011-03-01 22:09:39Z], ~U[2025-10-27 18:34:57Z], ~U[2025-10-27 18:34:57Z], "Please like and favourite to support this series!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 13: World's Strongest Dwarf", 1, 1028, false, "8kJRzEfs1qQ", "https://www.youtube.com/watch?v=8kJRzEfs1qQ", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 13: World's Strongest Dwarf.mp4", false, ~U[2011-03-01 22:09:39Z]] 14:34:57.293 [debug] QUERY OK source="sources" db=2.9ms idle=224.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:57.304 [debug] QUERY OK source="media_items" db=10.4ms idle=117.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-03-03 21:28:01Z], 1] 14:34:57.378 [debug] QUERY OK source="media_items" db=73.1ms idle=124.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Please like and favourite to support this series!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - \"Shadow of Israphel\" Part 14: The Tale of the Sands", "c885ac24-8d48-4bc9-afef-185a95f9e582", 1, [], 570, false, "qyatdrTB3i0", "https://www.youtube.com/watch?v=qyatdrTB3i0", 52, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 14: The Tale of the Sands.mp4", false, false, false, 1, ~U[2011-03-03 21:28:01Z], ~U[2025-10-27 18:34:57Z], ~U[2025-10-27 18:34:57Z], "Please like and favourite to support this series!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - \"Shadow of Israphel\" Part 14: The Tale of the Sands", 1, 570, false, "qyatdrTB3i0", "https://www.youtube.com/watch?v=qyatdrTB3i0", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 14: The Tale of the Sands.mp4", false, ~U[2011-03-03 21:28:01Z]] 14:34:57.382 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=188.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:57.392 [debug] QUERY OK source="media_items" db=10.2ms queue=0.1ms idle=92.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-03-05 22:07:32Z], 1] 14:34:57.471 [debug] QUERY OK source="media_items" db=77.4ms queue=0.1ms idle=99.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Please like and favourite to support this series!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 15: The Battle of the Breach", "fd301546-bfad-4a83-bb5d-15b2baa6041e", 1, [], 1189, false, "k-LoFJrez1A", "https://www.youtube.com/watch?v=k-LoFJrez1A", 53, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 15: The Battle of the Breach.mp4", false, false, false, 1, ~U[2011-03-05 22:07:32Z], ~U[2025-10-27 18:34:57Z], ~U[2025-10-27 18:34:57Z], "Please like and favourite to support this series!\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 15: The Battle of the Breach", 1, 1189, false, "k-LoFJrez1A", "https://www.youtube.com/watch?v=k-LoFJrez1A", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 15: The Battle of the Breach.mp4", false, ~U[2011-03-05 22:07:32Z]] 14:34:57.475 [debug] QUERY OK source="sources" db=3.3ms queue=0.1ms idle=93.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:57.484 [debug] QUERY OK source="media_items" db=8.8ms idle=93.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-03-07 23:21:34Z], 1] 14:34:57.570 [debug] QUERY OK source="media_items" db=84.8ms queue=0.1ms idle=92.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Please like and favourite to support this series! This is the last episode of our main storyline for at least a week or two! We've got a fair bit of stuff on over the next week but you can expect more minecraft filler in the form of custom maps and mod spotlights!! :)\n\nTitle Splashscreen by CryoSignal: http://cryosignal.deviantart.com/gallery/?offset=0#/d3g4wzw\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 16: A Beacon of Hope", "07bfbdab-6533-4862-baad-e77062c8503d", 1, [], 1368, false, "3071VQtKEAE", "https://www.youtube.com/watch?v=3071VQtKEAE", 54, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 16: A Beacon of Hope.mp4", false, false, false, 1, ~U[2011-03-07 23:21:34Z], ~U[2025-10-27 18:34:57Z], ~U[2025-10-27 18:34:57Z], "Please like and favourite to support this series! This is the last episode of our main storyline for at least a week or two! We've got a fair bit of stuff on over the next week but you can expect more minecraft filler in the form of custom maps and mod spotlights!! :)\n\nTitle Splashscreen by CryoSignal: http://cryosignal.deviantart.com/gallery/?offset=0#/d3g4wzw\n\nFacebook: http://www.facebook.com/yogscast\nOur Podcast: http://itunes.apple.com/podcast/the-yogpod/id304557271\nTexture pack is Gerudoku, this thread: http://www.minecraftforum.net/viewtopic.php?f=25&t=77619", "Minecraft - \"Shadow of Israphel\" Part 16: A Beacon of Hope", 1, 1368, false, "3071VQtKEAE", "https://www.youtube.com/watch?v=3071VQtKEAE", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 16: A Beacon of Hope.mp4", false, ~U[2011-03-07 23:21:34Z]] 14:34:57.573 [debug] QUERY OK source="sources" db=3.1ms idle=99.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:57.584 [debug] QUERY OK source="media_items" db=10.5ms queue=0.1ms idle=99.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-03-23 00:37:42Z], 1] 14:34:57.672 [debug] QUERY OK source="media_items" db=86.8ms idle=101.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A special one-off livestreamed event, where fifteen lucky yognauts from our forums were chosen to attend a special service in memory of Granny Bacon! :) \n\nSpecial thanks go out to peva3 for running the livestream of the event, Bobby and Krippner for their fan-made map and everyone who was able to attend!\n\nThanks muchly to Daniel Yount for the use of his amazing music: http://audiograve.bandcamp.com/\n\nShadow of Israphel proper should resume soon. I'll let you know more details later.", "Minecraft - Granny Bacon's Funeral (Shadow of Israphel Special)", "cbaf5a35-1ccd-4b4c-8b61-cdeb7a317423", 1, [], 1482, false, "cg9zPvYWI9Q", "https://www.youtube.com/watch?v=cg9zPvYWI9Q", 55, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Granny Bacon's Funeral (Shadow of Israphel Special).mp4", false, false, false, 1, ~U[2011-03-23 00:37:42Z], ~U[2025-10-27 18:34:57Z], ~U[2025-10-27 18:34:57Z], "A special one-off livestreamed event, where fifteen lucky yognauts from our forums were chosen to attend a special service in memory of Granny Bacon! :) \n\nSpecial thanks go out to peva3 for running the livestream of the event, Bobby and Krippner for their fan-made map and everyone who was able to attend!\n\nThanks muchly to Daniel Yount for the use of his amazing music: http://audiograve.bandcamp.com/\n\nShadow of Israphel proper should resume soon. I'll let you know more details later.", "Minecraft - Granny Bacon's Funeral (Shadow of Israphel Special)", 1, 1482, false, "cg9zPvYWI9Q", "https://www.youtube.com/watch?v=cg9zPvYWI9Q", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Granny Bacon's Funeral (Shadow of Israphel Special).mp4", false, ~U[2011-03-23 00:37:42Z]] 14:34:57.676 [debug] QUERY OK source="sources" db=3.5ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:57.686 [debug] QUERY OK source="media_items" db=9.7ms idle=107.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-04-04 20:57:57Z], 1] 14:34:57.762 [debug] QUERY OK source="media_items" db=74.5ms idle=113.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["With a new quest - to find pieces of Karpath's legendary map - Simon and Lewis return to Minecraftia and resume their adventures!\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - \"Shadow of Israphel\" Part 17: The Fragmented Map", "179927ec-7610-4e26-87b1-4326feb8d1ae", 1, [], 1091, false, "Q_NuUsLT720", "https://www.youtube.com/watch?v=Q_NuUsLT720", 56, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 17: The Fragmented Map.mp4", false, false, false, 1, ~U[2011-04-04 20:57:57Z], ~U[2025-10-27 18:34:57Z], ~U[2025-10-27 18:34:57Z], "With a new quest - to find pieces of Karpath's legendary map - Simon and Lewis return to Minecraftia and resume their adventures!\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - \"Shadow of Israphel\" Part 17: The Fragmented Map", 1, 1091, false, "Q_NuUsLT720", "https://www.youtube.com/watch?v=Q_NuUsLT720", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 17: The Fragmented Map.mp4", false, ~U[2011-04-04 20:57:57Z]] 14:34:57.766 [debug] QUERY OK source="sources" db=2.9ms queue=0.3ms idle=177.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:57.776 [debug] QUERY OK source="media_items" db=10.2ms queue=0.1ms idle=94.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-04-06 21:01:10Z], 1] 14:34:57.849 [debug] QUERY OK source="media_items" db=71.1ms idle=100.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["With a new quest - to find pieces of Karpath's legendary map - Simon and Lewis return to Minecraftia and resume their adventures!\n\nTitle Splashscreen by Xric: http://browse.deviantart.com/?q=honeydew%20yogscast&order=9&offset=144#/d3auq9z", "Minecraft - \"Shadow of Israphel\" Part 18: Swampy Away!", "d36c0bca-bd3a-42c6-b7d7-0f52a1e3596d", 1, [], 816, false, "paYXaME_0Fc", "https://www.youtube.com/watch?v=paYXaME_0Fc", 57, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 18: Swampy Away!.mp4", false, false, false, 1, ~U[2011-04-06 21:01:10Z], ~U[2025-10-27 18:34:57Z], ~U[2025-10-27 18:34:57Z], "With a new quest - to find pieces of Karpath's legendary map - Simon and Lewis return to Minecraftia and resume their adventures!\n\nTitle Splashscreen by Xric: http://browse.deviantart.com/?q=honeydew%20yogscast&order=9&offset=144#/d3auq9z", "Minecraft - \"Shadow of Israphel\" Part 18: Swampy Away!", 1, 816, false, "paYXaME_0Fc", "https://www.youtube.com/watch?v=paYXaME_0Fc", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 18: Swampy Away!.mp4", false, ~U[2011-04-06 21:01:10Z]] 14:34:57.852 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=162.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:57.863 [debug] QUERY OK source="media_items" db=10.7ms idle=91.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-04-08 20:19:04Z], 1] 14:34:57.941 [debug] QUERY OK source="media_items" db=76.3ms idle=98.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Arriving at a strange harbour town, the heroes must continue their quest for pieces of Karpath's legendary map - that will lead the way to defeating an ancient evil under the sands!", "Minecraft - \"Shadow of Israphel\" Part 19: The Pirates of BBQ Bay", "7add1aac-1ce4-45c3-b80c-b314451c8cbb", 1, [], 1052, false, "a1A-mRN6_Q0", "https://www.youtube.com/watch?v=a1A-mRN6_Q0", 58, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 19: The Pirates of BBQ Bay.mp4", false, false, false, 1, ~U[2011-04-08 20:19:04Z], ~U[2025-10-27 18:34:57Z], ~U[2025-10-27 18:34:57Z], "Arriving at a strange harbour town, the heroes must continue their quest for pieces of Karpath's legendary map - that will lead the way to defeating an ancient evil under the sands!", "Minecraft - \"Shadow of Israphel\" Part 19: The Pirates of BBQ Bay", 1, 1052, false, "a1A-mRN6_Q0", "https://www.youtube.com/watch?v=a1A-mRN6_Q0", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 19: The Pirates of BBQ Bay.mp4", false, ~U[2011-04-08 20:19:04Z]] 14:34:57.944 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=164.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:57.954 [debug] QUERY OK source="media_items" db=9.9ms queue=0.1ms idle=96.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-04-11 22:23:44Z], 1] 14:34:58.025 [debug] QUERY OK source="media_items" db=69.5ms idle=103.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Highlights from the charity yogscast special which was livestreamed to raise money for Child's Play. Over the duration of our 4-hour stream this weekend, you guys helped donate over $15,000 to push the total raised to over $30,000 as of Sunday night! \n\nThe aim is to hit $50,000 by the end of the month - a fantastic and worthwhile goal - so please diggy diggy your pockets and make a donation here: http://qubetubers.chipin.com/childs-play\n\nSpecial thanks go out to our very own Bjornar (yogscast web-guru Tinman, who is also present in this adventure as Spacker_LeChuck) for his donation of $1337 during the stream, which pushed us over the $26,000 milestone and allowed us to stream for two hours longer than we had planned!\n\nThanks also go out to Pat (peva3) for working so hard to run the livestream (playing Granny_Bacon as the livestream camera) - Ditto and Krippner for their awesome fan-made map and storyline, and everyone else who was able to attend! In addition - thanks to all the other amazing youtubers and streamers who took time out of their schedules to continue to make this amazing event a success! Here's to many more in the future!\n\nThanks muchly to Daniel Yount for the use of his amazing music: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - The Legend of Verigan, Part 1 (Shadow of Israphel Special)", "ff161a2a-84b0-424d-9fe2-b7da82573c53", 1, [], 1124, false, "Y7Qk2evomg8", "https://www.youtube.com/watch?v=Y7Qk2evomg8", 59, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - The Legend of Verigan, Part 1 (Shadow of Israphel Special).mp4", false, false, false, 1, ~U[2011-04-11 22:23:44Z], ~U[2025-10-27 18:34:57Z], ~U[2025-10-27 18:34:57Z], "Highlights from the charity yogscast special which was livestreamed to raise money for Child's Play. Over the duration of our 4-hour stream this weekend, you guys helped donate over $15,000 to push the total raised to over $30,000 as of Sunday night! \n\nThe aim is to hit $50,000 by the end of the month - a fantastic and worthwhile goal - so please diggy diggy your pockets and make a donation here: http://qubetubers.chipin.com/childs-play\n\nSpecial thanks go out to our very own Bjornar (yogscast web-guru Tinman, who is also present in this adventure as Spacker_LeChuck) for his donation of $1337 during the stream, which pushed us over the $26,000 milestone and allowed us to stream for two hours longer than we had planned!\n\nThanks also go out to Pat (peva3) for working so hard to run the livestream (playing Granny_Bacon as the livestream camera) - Ditto and Krippner for their awesome fan-made map and storyline, and everyone else who was able to attend! In addition - thanks to all the other amazing youtubers and streamers who took time out of their schedules to continue to make this amazing event a success! Here's to many more in the future!\n\nThanks muchly to Daniel Yount for the use of his amazing music: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - The Legend of Verigan, Part 1 (Shadow of Israphel Special)", 1, 1124, false, "Y7Qk2evomg8", "https://www.youtube.com/watch?v=Y7Qk2evomg8", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - The Legend of Verigan, Part 1 (Shadow of Israphel Special).mp4", false, ~U[2011-04-11 22:23:44Z]] 14:34:58.028 [debug] QUERY OK source="sources" db=2.9ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:58.038 [debug] QUERY OK source="media_items" db=9.5ms queue=0.1ms idle=88.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-04-12 18:15:52Z], 1] 14:34:58.109 [debug] QUERY OK source="media_items" db=69.6ms idle=94.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Part 2 of our highlights from the charity yogscast special which was livestreamed to raise money for Child's Play. Over the duration of our 4-hour stream this weekend, you guys helped donate over $15,000 to push the total raised to over $30,000 as of Sunday night! \n\nThe aim is to hit $50,000 by the end of the month - a fantastic and worthwhile goal - so please diggy diggy your pockets and make a donation here: http://qubetubers.chipin.com/childs-play\n\nSpecial thanks go out to our very own Bjornar (yogscast web-guru Tinman, who is also present in this adventure as Spacker_LeChuck) for his donation of $1337 during the stream, which pushed us over the $26,000 milestone and allowed us to stream for two hours longer than we had planned!\n\nThanks also go out to Pat (peva3) for working so hard to run the livestream (playing Granny_Bacon as the livestream camera) - Ditto and Krippner for their awesome fan-made map and storyline, and everyone else who was able to attend! In addition - thanks to all the other amazing youtubers and streamers who took time out of their schedules to continue to make this amazing event a success! Here's to many more in the future!\n\nThanks muchly to Daniel Yount for the use of his amazing music: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - The Legend of Verigan, Part 2 (Shadow of Israphel Special)", "a4ffcbaf-7470-4f17-96e3-8679bba4ef88", 1, [], 914, false, "XE-jGHc8UOI", "https://www.youtube.com/watch?v=XE-jGHc8UOI", 60, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - The Legend of Verigan, Part 2 (Shadow of Israphel Special).mp4", false, false, false, 1, ~U[2011-04-12 18:15:52Z], ~U[2025-10-27 18:34:58Z], ~U[2025-10-27 18:34:58Z], "Part 2 of our highlights from the charity yogscast special which was livestreamed to raise money for Child's Play. Over the duration of our 4-hour stream this weekend, you guys helped donate over $15,000 to push the total raised to over $30,000 as of Sunday night! \n\nThe aim is to hit $50,000 by the end of the month - a fantastic and worthwhile goal - so please diggy diggy your pockets and make a donation here: http://qubetubers.chipin.com/childs-play\n\nSpecial thanks go out to our very own Bjornar (yogscast web-guru Tinman, who is also present in this adventure as Spacker_LeChuck) for his donation of $1337 during the stream, which pushed us over the $26,000 milestone and allowed us to stream for two hours longer than we had planned!\n\nThanks also go out to Pat (peva3) for working so hard to run the livestream (playing Granny_Bacon as the livestream camera) - Ditto and Krippner for their awesome fan-made map and storyline, and everyone else who was able to attend! In addition - thanks to all the other amazing youtubers and streamers who took time out of their schedules to continue to make this amazing event a success! Here's to many more in the future!\n\nThanks muchly to Daniel Yount for the use of his amazing music: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - The Legend of Verigan, Part 2 (Shadow of Israphel Special)", 1, 914, false, "XE-jGHc8UOI", "https://www.youtube.com/watch?v=XE-jGHc8UOI", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - The Legend of Verigan, Part 2 (Shadow of Israphel Special).mp4", false, ~U[2011-04-12 18:15:52Z]] 14:34:58.112 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=155.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:58.123 [debug] QUERY OK source="media_items" db=10.1ms queue=0.1ms idle=87.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-04-13 20:40:10Z], 1] 14:34:58.201 [debug] QUERY OK source="media_items" db=77.4ms idle=95.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The final part of our special from the charity livestream to raise money for Child's Play. Over the duration of our 4-hour stream this weekend, you guys helped donate over $15,000 to push the total raised to over $30,000 as of Sunday night! \n\nThe aim is to hit $50,000 by the end of the month - a fantastic and worthwhile goal - so please diggy diggy your pockets and make a donation here: http://qubetubers.chipin.com/childs-play\n\nSpecial thanks go out to our very own Bjornar (yogscast web-guru Tinman, who is also present in this adventure as Spacker_LeChuck) for his donation of $1337 during the stream, which pushed us over the $26,000 milestone and allowed us to stream for two hours longer than we had planned!\n\nThanks also go out to Pat (peva3) for working so hard to run the livestream (playing Granny_Bacon as the livestream camera) - Ditto and Krippner for their awesome fan-made map and storyline, and everyone else who was able to attend! In addition - thanks to all the other amazing youtubers and streamers who took time out of their schedules to continue to make this amazing event a success! Here's to many more in the future!\n\nThanks muchly to Daniel Yount for the use of his amazing music: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - The Legend of Verigan, Part 3 (Shadow of Israphel Special)", "66ed5c40-6070-4782-b497-a2b272176e06", 1, [], 1316, false, "uh8TJVKi-9U", "https://www.youtube.com/watch?v=uh8TJVKi-9U", 61, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - The Legend of Verigan, Part 3 (Shadow of Israphel Special).mp4", false, false, false, 1, ~U[2011-04-13 20:40:10Z], ~U[2025-10-27 18:34:58Z], ~U[2025-10-27 18:34:58Z], "The final part of our special from the charity livestream to raise money for Child's Play. Over the duration of our 4-hour stream this weekend, you guys helped donate over $15,000 to push the total raised to over $30,000 as of Sunday night! \n\nThe aim is to hit $50,000 by the end of the month - a fantastic and worthwhile goal - so please diggy diggy your pockets and make a donation here: http://qubetubers.chipin.com/childs-play\n\nSpecial thanks go out to our very own Bjornar (yogscast web-guru Tinman, who is also present in this adventure as Spacker_LeChuck) for his donation of $1337 during the stream, which pushed us over the $26,000 milestone and allowed us to stream for two hours longer than we had planned!\n\nThanks also go out to Pat (peva3) for working so hard to run the livestream (playing Granny_Bacon as the livestream camera) - Ditto and Krippner for their awesome fan-made map and storyline, and everyone else who was able to attend! In addition - thanks to all the other amazing youtubers and streamers who took time out of their schedules to continue to make this amazing event a success! Here's to many more in the future!\n\nThanks muchly to Daniel Yount for the use of his amazing music: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - The Legend of Verigan, Part 3 (Shadow of Israphel Special)", 1, 1316, false, "uh8TJVKi-9U", "https://www.youtube.com/watch?v=uh8TJVKi-9U", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - The Legend of Verigan, Part 3 (Shadow of Israphel Special).mp4", false, ~U[2011-04-13 20:40:10Z]] 14:34:58.205 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=163.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:58.215 [debug] QUERY OK source="media_items" db=9.5ms queue=0.1ms idle=96.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-04-14 20:40:29Z], 1] 14:34:58.291 [debug] QUERY OK source="media_items" db=75.6ms idle=102.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Simon and Lewis were joined by (far too many) special guests after finishing the livestream to raise money for Child's Play! Supporting the charity were such legends as Seananners, Captainsparklez and Slyfox!\n\nThe aim is to hit $50,000 by the end of the month - a fantastic and worthwhile goal - so please diggy diggy your pockets and make a donation here: http://qubetubers.chipin.com/childs-play\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - Child's Play Post-Livestream Party w/ Special Guests!", "b4564eda-bbb1-4699-9fad-f1dd07df2efd", 1, [], 656, false, "XymK_UXWNn0", "https://www.youtube.com/watch?v=XymK_UXWNn0", 62, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Child's Play Post-Livestream Party w⧸ Special Guests!.mp4", false, false, false, 1, ~U[2011-04-14 20:40:29Z], ~U[2025-10-27 18:34:58Z], ~U[2025-10-27 18:34:58Z], "Simon and Lewis were joined by (far too many) special guests after finishing the livestream to raise money for Child's Play! Supporting the charity were such legends as Seananners, Captainsparklez and Slyfox!\n\nThe aim is to hit $50,000 by the end of the month - a fantastic and worthwhile goal - so please diggy diggy your pockets and make a donation here: http://qubetubers.chipin.com/childs-play\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - Child's Play Post-Livestream Party w/ Special Guests!", 1, 656, false, "XymK_UXWNn0", "https://www.youtube.com/watch?v=XymK_UXWNn0", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Child's Play Post-Livestream Party w⧸ Special Guests!.mp4", false, ~U[2011-04-14 20:40:29Z]] 14:34:58.294 [debug] QUERY OK source="sources" db=2.8ms idle=168.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:58.306 [debug] QUERY OK source="media_items" db=11.4ms queue=0.1ms idle=93.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-04-16 22:49:27Z], 1] 14:34:58.377 [debug] QUERY OK source="media_items" db=69.9ms idle=102.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Arriving at a strange harbour town, the heroes must continue their quest for pieces of Karpath's legendary map - that will lead the way to defeating an ancient evil under the sands!\n\nMany thanks to Daniel Yount for his great music: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - \"Shadow of Israphel\" Part 20: The Dread Pirate Norris", "1ce12188-2ecb-4658-ad66-9e8c5d6c14f0", 1, [], 1054, false, "y7bNgPxm0Vs", "https://www.youtube.com/watch?v=y7bNgPxm0Vs", 63, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 20: The Dread Pirate Norris.mp4", false, false, false, 1, ~U[2011-04-16 22:49:27Z], ~U[2025-10-27 18:34:58Z], ~U[2025-10-27 18:34:58Z], "Arriving at a strange harbour town, the heroes must continue their quest for pieces of Karpath's legendary map - that will lead the way to defeating an ancient evil under the sands!\n\nMany thanks to Daniel Yount for his great music: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Lalna: http://www.youtube.com/user/Yogscastlalna", "Minecraft - \"Shadow of Israphel\" Part 20: The Dread Pirate Norris", 1, 1054, false, "y7bNgPxm0Vs", "https://www.youtube.com/watch?v=y7bNgPxm0Vs", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 20: The Dread Pirate Norris.mp4", false, ~U[2011-04-16 22:49:27Z]] 14:34:58.381 [debug] QUERY OK source="sources" db=3.2ms queue=0.1ms idle=162.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:58.392 [debug] QUERY OK source="media_items" db=10.5ms idle=90.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-04-18 09:06:08Z], 1] 14:34:58.468 [debug] QUERY OK source="media_items" db=74.9ms idle=97.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Some outtakes from the rare occasions that things don't completely go to plan when recording our videos. Enjoy!\n\nThanks to Daniel Yount for providing one of the four songs used. http://audiograve.bandcamp.com\n\nTitle Splashscreen by JChico: http://jchico.deviantart.com/#/d3cbfpm", "Minecraft - Shadow of Israphel: Outtakes [Behind the scenes!]", "b7fe8730-f81c-45de-9200-43180216cc36", 1, [], 273, false, "8N3rNMzbpx4", "https://www.youtube.com/watch?v=8N3rNMzbpx4", 64, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Shadow of Israphel: Outtakes [Behind the scenes!].mp4", false, false, false, 1, ~U[2011-04-18 09:06:08Z], ~U[2025-10-27 18:34:58Z], ~U[2025-10-27 18:34:58Z], "Some outtakes from the rare occasions that things don't completely go to plan when recording our videos. Enjoy!\n\nThanks to Daniel Yount for providing one of the four songs used. http://audiograve.bandcamp.com\n\nTitle Splashscreen by JChico: http://jchico.deviantart.com/#/d3cbfpm", "Minecraft - Shadow of Israphel: Outtakes [Behind the scenes!]", 1, 273, false, "8N3rNMzbpx4", "https://www.youtube.com/watch?v=8N3rNMzbpx4", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - Shadow of Israphel: Outtakes [Behind the scenes!].mp4", false, ~U[2011-04-18 09:06:08Z]] 14:34:58.471 [debug] QUERY OK source="sources" db=2.9ms idle=161.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:58.481 [debug] QUERY OK source="media_items" db=9.9ms queue=0.1ms idle=94.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-05-15 21:28:30Z], 1] 14:34:58.560 [debug] QUERY OK source="media_items" db=77.5ms queue=0.1ms idle=101.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Hunting pieces of a mythical map said to hold the key to defeating an ancient evil beneath the sands beyond Verigan's Hold, our heroes find themselves in a strange treasure cave deep miles from anywhere. Let the adventures continue!\n\nTitle Splashscreen by Teutron: https://yogscast.com/showthread.php?25961-Teutron-s-Thread-of-art-and-the-likes.&highlight=granny+bacon", "Minecraft - \"Shadow of Israphel\" Part 21: Grimjaw's Trial", "fbb9aa53-d380-4a6c-b88a-b20e5d40872d", 1, [], 1143, false, "WAc48jMHyoY", "https://www.youtube.com/watch?v=WAc48jMHyoY", 65, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 21: Grimjaw's Trial.mp4", false, false, false, 1, ~U[2011-05-15 21:28:30Z], ~U[2025-10-27 18:34:58Z], ~U[2025-10-27 18:34:58Z], "Hunting pieces of a mythical map said to hold the key to defeating an ancient evil beneath the sands beyond Verigan's Hold, our heroes find themselves in a strange treasure cave deep miles from anywhere. Let the adventures continue!\n\nTitle Splashscreen by Teutron: https://yogscast.com/showthread.php?25961-Teutron-s-Thread-of-art-and-the-likes.&highlight=granny+bacon", "Minecraft - \"Shadow of Israphel\" Part 21: Grimjaw's Trial", 1, 1143, false, "WAc48jMHyoY", "https://www.youtube.com/watch?v=WAc48jMHyoY", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 21: Grimjaw's Trial.mp4", false, ~U[2011-05-15 21:28:30Z]] 14:34:58.562 [debug] QUERY OK source="sources" db=1.9ms queue=0.1ms idle=92.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:58.572 [debug] QUERY OK source="media_items" db=9.7ms idle=91.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-05-19 21:17:10Z], 1] 14:34:58.722 [debug] QUERY OK source="media_items" db=149.0ms idle=91.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Far from home and without the guidance of their friends and allies, the dwarf and spaceman must struggle against evil and fight with their lives to recover an important map, which could hold the key to saving the world from a terrible evil.\n\nDiscuss this episode on our forums! http://yogscast.com/showthread.php?6687-Official-Shadow-of-Israphel-Episode-22-Discussion-Thread&p=74071#post74071\nMusical Cues by Daniel Yount http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Teutron: https://yogscast.com/showthread.php?25961-Teutron-s-Thread-of-art-and-the-likes.&highlight=granny+bacon", "Minecraft - \"Shadow of Israphel\" Part 22: The Betrayer", "ac68778b-490e-45ea-9b34-e08593ad48f6", 1, [], 1029, false, "ERUubUJdQVc", "https://www.youtube.com/watch?v=ERUubUJdQVc", 66, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 22: The Betrayer.mp4", false, false, false, 1, ~U[2011-05-19 21:17:10Z], ~U[2025-10-27 18:34:58Z], ~U[2025-10-27 18:34:58Z], "Far from home and without the guidance of their friends and allies, the dwarf and spaceman must struggle against evil and fight with their lives to recover an important map, which could hold the key to saving the world from a terrible evil.\n\nDiscuss this episode on our forums! http://yogscast.com/showthread.php?6687-Official-Shadow-of-Israphel-Episode-22-Discussion-Thread&p=74071#post74071\nMusical Cues by Daniel Yount http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Teutron: https://yogscast.com/showthread.php?25961-Teutron-s-Thread-of-art-and-the-likes.&highlight=granny+bacon", "Minecraft - \"Shadow of Israphel\" Part 22: The Betrayer", 1, 1029, false, "ERUubUJdQVc", "https://www.youtube.com/watch?v=ERUubUJdQVc", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 22: The Betrayer.mp4", false, ~U[2011-05-19 21:17:10Z]] 14:34:58.726 [debug] QUERY OK source="sources" db=3.1ms idle=163.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:58.736 [debug] QUERY OK source="media_items" db=9.2ms queue=0.1ms idle=163.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-05-28 22:05:02Z], 1] 14:34:58.809 [debug] QUERY OK source="media_items" db=72.7ms idle=172.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Far from home and without the guidance of their friends and allies, the dwarf and spaceman must struggle against evil and fight with their lives to recover an important map, which could hold the key to saving the world from a terrible evil.\n\nDiscuss this episode on our forums! \nhttp://yogscast.com/showthread.php?7886-Official-Shadow-of-Israphel-Episode-23-Discussion-and-Speculation-Thread&p=94087#post94087\nThanks to Daryl for the amazing intro: http://www.youtube.com/user/Reckreations\nMusical Cues by Daniel Yount: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Teutron: https://yogscast.com/showthread.php?25961-Teutron-s-Thread-of-art-and-the-likes.&highlight=granny+bacon", "Minecraft - \"Shadow of Israphel\" Part 23: Evidence", "93d11cdb-8a96-4caf-81e5-2184fea1fbd2", 1, [], 1183, false, "GWqy3dPC_jw", "https://www.youtube.com/watch?v=GWqy3dPC_jw", 67, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 23: Evidence.mp4", false, false, false, 1, ~U[2011-05-28 22:05:02Z], ~U[2025-10-27 18:34:58Z], ~U[2025-10-27 18:34:58Z], "Far from home and without the guidance of their friends and allies, the dwarf and spaceman must struggle against evil and fight with their lives to recover an important map, which could hold the key to saving the world from a terrible evil.\n\nDiscuss this episode on our forums! \nhttp://yogscast.com/showthread.php?7886-Official-Shadow-of-Israphel-Episode-23-Discussion-and-Speculation-Thread&p=94087#post94087\nThanks to Daryl for the amazing intro: http://www.youtube.com/user/Reckreations\nMusical Cues by Daniel Yount: http://audiograve.bandcamp.com/\n\nTitle Splashscreen by Teutron: https://yogscast.com/showthread.php?25961-Teutron-s-Thread-of-art-and-the-likes.&highlight=granny+bacon", "Minecraft - \"Shadow of Israphel\" Part 23: Evidence", 1, 1183, false, "GWqy3dPC_jw", "https://www.youtube.com/watch?v=GWqy3dPC_jw", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 23: Evidence.mp4", false, ~U[2011-05-28 22:05:02Z]] 14:34:58.813 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=237.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:58.823 [debug] QUERY OK source="media_items" db=10.2ms idle=90.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-06-17 22:38:39Z], 1] 14:34:58.895 [debug] QUERY OK source="media_items" db=71.3ms idle=97.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Far from home and without the guidance of their friends and allies, the dwarf and spaceman must struggle against evil and fight with their lives to recover an important map, which could hold the key to saving the world from a terrible evil.\n\nDiscuss this episode on our forums! \n\nMusical Cues by Daniel Yount: http://audiograve.bandcamp.com/\n\nSupporting intro by Daryl: http://www.youtube.com/user/Reckreations", "Minecraft - \"Shadow of Israphel\" Part 24: The Fiend", "2b6d6c77-fa9a-4a37-86a4-9ea5ff12db82", 1, [], 1058, false, "akWW_2lZTxo", "https://www.youtube.com/watch?v=akWW_2lZTxo", 68, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 24: The Fiend.mp4", false, false, false, 1, ~U[2011-06-17 22:38:39Z], ~U[2025-10-27 18:34:58Z], ~U[2025-10-27 18:34:58Z], "Far from home and without the guidance of their friends and allies, the dwarf and spaceman must struggle against evil and fight with their lives to recover an important map, which could hold the key to saving the world from a terrible evil.\n\nDiscuss this episode on our forums! \n\nMusical Cues by Daniel Yount: http://audiograve.bandcamp.com/\n\nSupporting intro by Daryl: http://www.youtube.com/user/Reckreations", "Minecraft - \"Shadow of Israphel\" Part 24: The Fiend", 1, 1058, false, "akWW_2lZTxo", "https://www.youtube.com/watch?v=akWW_2lZTxo", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 24: The Fiend.mp4", false, ~U[2011-06-17 22:38:39Z]] 14:34:58.899 [debug] QUERY OK source="sources" db=2.5ms idle=160.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:58.908 [debug] QUERY OK source="media_items" db=8.9ms queue=0.1ms idle=89.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-06-24 22:18:06Z], 1] 14:34:58.989 [debug] QUERY OK source="media_items" db=79.7ms idle=95.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Far from home and without the guidance of their friends and allies, the dwarf and spaceman must struggle against evil and fight with their lives to recover an important map, which could hold the key to saving the world from a terrible evil.\n\nDiscuss this episode on our forums! \nhttp://yogscast.com/showthread.php?12126-Shadow-of-Israphel-25-Discussion-and-Speculation-Thread&p=165968#post165968\n\nShadow of Israphel Sountrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nSupporting intro by Daryl: http://www.youtube.com/user/Reckreations", "Minecraft - \"Shadow of Israphel\" Part 25: Visions", "b640d8db-4d9e-4a40-b271-efe2853603ac", 1, [], 1063, false, "0X5Q9W4RPpU", "https://www.youtube.com/watch?v=0X5Q9W4RPpU", 69, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 25: Visions.mp4", false, false, false, 1, ~U[2011-06-24 22:18:06Z], ~U[2025-10-27 18:34:58Z], ~U[2025-10-27 18:34:58Z], "Far from home and without the guidance of their friends and allies, the dwarf and spaceman must struggle against evil and fight with their lives to recover an important map, which could hold the key to saving the world from a terrible evil.\n\nDiscuss this episode on our forums! \nhttp://yogscast.com/showthread.php?12126-Shadow-of-Israphel-25-Discussion-and-Speculation-Thread&p=165968#post165968\n\nShadow of Israphel Sountrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nSupporting intro by Daryl: http://www.youtube.com/user/Reckreations", "Minecraft - \"Shadow of Israphel\" Part 25: Visions", 1, 1063, false, "0X5Q9W4RPpU", "https://www.youtube.com/watch?v=0X5Q9W4RPpU", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 25: Visions.mp4", false, ~U[2011-06-24 22:18:06Z]] 14:34:58.992 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=165.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:59.002 [debug] QUERY OK source="media_items" db=9.3ms idle=96.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-07-01 21:42:46Z], 1] 14:34:59.075 [debug] QUERY OK source="media_items" db=72.2ms idle=103.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Continuing their search for fragments of a mysterious map that is needed to save the world, our heroes find themselves in the company of a zombie-dwarf-pirate, sheltering from the dark and rain in a strange house. \n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nDiscuss this episode on our forums!\nhttp://yogscast.com/showthread.php?13777-Shadow-of-Israphel-ep.-26-discussion-thread./", "Minecraft - \"Shadow of Israphel\" Part 26: The Mansion", "5e50e35d-be5a-4c96-8823-21be4282d873", 1, [], 1130, false, "QNb8QdZ4mGY", "https://www.youtube.com/watch?v=QNb8QdZ4mGY", 70, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 26: The Mansion.mp4", false, false, false, 1, ~U[2011-07-01 21:42:46Z], ~U[2025-10-27 18:34:59Z], ~U[2025-10-27 18:34:59Z], "Continuing their search for fragments of a mysterious map that is needed to save the world, our heroes find themselves in the company of a zombie-dwarf-pirate, sheltering from the dark and rain in a strange house. \n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nDiscuss this episode on our forums!\nhttp://yogscast.com/showthread.php?13777-Shadow-of-Israphel-ep.-26-discussion-thread./", "Minecraft - \"Shadow of Israphel\" Part 26: The Mansion", 1, 1130, false, "QNb8QdZ4mGY", "https://www.youtube.com/watch?v=QNb8QdZ4mGY", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 26: The Mansion.mp4", false, ~U[2011-07-01 21:42:46Z]] 14:34:59.078 [debug] QUERY OK source="sources" db=2.9ms 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] 14:34:59.088 [debug] QUERY OK source="media_items" db=9.4ms queue=0.1ms idle=90.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-07-13 20:01:47Z], 1] 14:34:59.246 [debug] QUERY OK source="media_items" db=157.2ms idle=96.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Searching for Jasper's planes aboard his aircraft carrier, the heroes must undertake a perilous journey to their next destination to continue their search for fragments of a mysterious map that is needed to save the world. \n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nDiscuss the episode here: http://yogscast.com/showthread.php?16077-Shadow-of-Israphel-ep.-27-discussion-thread\n\nTitle Splashscreen by Cryosignal: http://browse.deviantart.com/?q=honeydew&order=9&offset=48#/d3hyxv8", "Minecraft - \"Shadow of Israphel\" Part 27: To Skyhold!", "5dc63eb2-a313-4e89-9ac3-e700970edc81", 1, [], 1346, false, "trEIINGcOg8", "https://www.youtube.com/watch?v=trEIINGcOg8", 71, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 27: To Skyhold!.mp4", false, false, false, 1, ~U[2011-07-13 20:01:47Z], ~U[2025-10-27 18:34:59Z], ~U[2025-10-27 18:34:59Z], "Searching for Jasper's planes aboard his aircraft carrier, the heroes must undertake a perilous journey to their next destination to continue their search for fragments of a mysterious map that is needed to save the world. \n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nDiscuss the episode here: http://yogscast.com/showthread.php?16077-Shadow-of-Israphel-ep.-27-discussion-thread\n\nTitle Splashscreen by Cryosignal: http://browse.deviantart.com/?q=honeydew&order=9&offset=48#/d3hyxv8", "Minecraft - \"Shadow of Israphel\" Part 27: To Skyhold!", 1, 1346, false, "trEIINGcOg8", "https://www.youtube.com/watch?v=trEIINGcOg8", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 27: To Skyhold!.mp4", false, ~U[2011-07-13 20:01:47Z]] 14:34:59.249 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=244.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:59.259 [debug] QUERY OK source="media_items" db=9.6ms idle=175.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-07-16 22:26:04Z], 1] 14:34:59.335 [debug] QUERY OK source="media_items" db=74.7ms idle=181.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Arriving via plane at a floating castle-thing, the boys must complete vague objectives from mysterious characters in order to find the remaining fragments of a map said to hold the key to saving the world!\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Cryosignal: http://browse.deviantart.com/?q=honeydew&order=9&offset=48#/d3hyxv8", "Minecraft - \"Shadow of Israphel\" Part 28: Fire and Ice", "b37b8452-bba5-4ce6-9bcc-586f615d2b32", 1, [], 1142, false, "DdS_-XBMsbw", "https://www.youtube.com/watch?v=DdS_-XBMsbw", 72, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 28: Fire and Ice.mp4", false, false, false, 1, ~U[2011-07-16 22:26:04Z], ~U[2025-10-27 18:34:59Z], ~U[2025-10-27 18:34:59Z], "Arriving via plane at a floating castle-thing, the boys must complete vague objectives from mysterious characters in order to find the remaining fragments of a map said to hold the key to saving the world!\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Cryosignal: http://browse.deviantart.com/?q=honeydew&order=9&offset=48#/d3hyxv8", "Minecraft - \"Shadow of Israphel\" Part 28: Fire and Ice", 1, 1142, false, "DdS_-XBMsbw", "https://www.youtube.com/watch?v=DdS_-XBMsbw", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 28: Fire and Ice.mp4", false, ~U[2011-07-16 22:26:04Z]] 14:34:59.338 [debug] QUERY OK source="sources" db=2.8ms idle=247.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:59.348 [debug] QUERY OK source="media_items" db=8.6ms queue=0.1ms idle=92.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-07-22 20:36:21Z], 1] 14:34:59.423 [debug] QUERY OK source="media_items" db=74.3ms idle=98.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["After completing two of Skylord Baako's three objectives, our heroes must investigate some sinister events that have been occurring under cover of night. \n\nOfficial discussion thread here: http://yogscast.com/showthread.php?17890-Shadow-of-Israphel-Episode-29-Official-Discussion-Thread\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Cryosignal: http://browse.deviantart.com/?q=honeydew&order=9&offset=48#/d3hyxv8", "Minecraft - \"Shadow of Israphel\" Part 29: The Cage", "68e75388-263b-4514-93e6-db465b2a10f0", 1, [], 1097, false, "C1VLzD6UeKc", "https://www.youtube.com/watch?v=C1VLzD6UeKc", 73, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 29: The Cage.mp4", false, false, false, 1, ~U[2011-07-22 20:36:21Z], ~U[2025-10-27 18:34:59Z], ~U[2025-10-27 18:34:59Z], "After completing two of Skylord Baako's three objectives, our heroes must investigate some sinister events that have been occurring under cover of night. \n\nOfficial discussion thread here: http://yogscast.com/showthread.php?17890-Shadow-of-Israphel-Episode-29-Official-Discussion-Thread\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes: \nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Cryosignal: http://browse.deviantart.com/?q=honeydew&order=9&offset=48#/d3hyxv8", "Minecraft - \"Shadow of Israphel\" Part 29: The Cage", 1, 1097, false, "C1VLzD6UeKc", "https://www.youtube.com/watch?v=C1VLzD6UeKc", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 29: The Cage.mp4", false, ~U[2011-07-22 20:36:21Z]] 14:34:59.426 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=163.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:59.436 [debug] QUERY OK source="media_items" db=9.9ms idle=91.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-07-29 20:45:44Z], 1] 14:34:59.509 [debug] QUERY OK source="media_items" db=72.0ms idle=98.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Our heroes must complete Skylord Baako's final challenge and discover the secret of Skyhold! The secret other than that guy who murdered everyone, we uncovered that last week.\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes:\nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Shepherdessu: http://browse.deviantart.com/?q=yogscast&order=9&offset=48#/d3huoyf", "Minecraft - \"Shadow of Israphel\" Part 30: Ghost in the Shell", "16889219-0dc9-470c-ab5d-d2ec90a597f8", 1, [], 1563, false, "xvAqHg1QyVc", "https://www.youtube.com/watch?v=xvAqHg1QyVc", 74, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 30: Ghost in the Shell.mp4", false, false, false, 1, ~U[2011-07-29 20:45:44Z], ~U[2025-10-27 18:34:59Z], ~U[2025-10-27 18:34:59Z], "Our heroes must complete Skylord Baako's final challenge and discover the secret of Skyhold! The secret other than that guy who murdered everyone, we uncovered that last week.\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes:\nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Shepherdessu: http://browse.deviantart.com/?q=yogscast&order=9&offset=48#/d3huoyf", "Minecraft - \"Shadow of Israphel\" Part 30: Ghost in the Shell", 1, 1563, false, "xvAqHg1QyVc", "https://www.youtube.com/watch?v=xvAqHg1QyVc", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 30: Ghost in the Shell.mp4", false, ~U[2011-07-29 20:45:44Z]] 14:34:59.512 [debug] QUERY OK source="sources" db=2.8ms idle=161.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:59.522 [debug] QUERY OK source="media_items" db=8.8ms queue=0.1ms idle=90.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-09-23 21:29:08Z], 1] 14:34:59.588 [debug] QUERY OK source="media_items" db=65.7ms idle=96.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In search for the final fragment of a mysterious map said to hold the power to save the world, our noble heroes arrive at Stoneholm - a strange dwarven fortress in the middle of nowhere.\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes:\nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by SirPantalones: http://browse.deviantart.com/?q=honeydew%20xephos&order=9&offset=48#/d429psy", "Minecraft - \"Shadow of Israphel\" Part 31: Stoneholm", "1e7dd9cc-40f4-487d-a5cc-93ce19832159", 1, [], 1152, false, "eB8040-NagE", "https://www.youtube.com/watch?v=eB8040-NagE", 75, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 31: Stoneholm.mp4", false, false, false, 1, ~U[2011-09-23 21:29:08Z], ~U[2025-10-27 18:34:59Z], ~U[2025-10-27 18:34:59Z], "In search for the final fragment of a mysterious map said to hold the power to save the world, our noble heroes arrive at Stoneholm - a strange dwarven fortress in the middle of nowhere.\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes:\nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by SirPantalones: http://browse.deviantart.com/?q=honeydew%20xephos&order=9&offset=48#/d429psy", "Minecraft - \"Shadow of Israphel\" Part 31: Stoneholm", 1, 1152, false, "eB8040-NagE", "https://www.youtube.com/watch?v=eB8040-NagE", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 31: Stoneholm.mp4", false, ~U[2011-09-23 21:29:08Z]] 14:34:59.592 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=80.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:59.602 [debug] QUERY OK source="media_items" db=9.5ms idle=79.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-09-30 21:23:40Z], 1] 14:34:59.672 [debug] QUERY OK source="media_items" db=69.5ms idle=80.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Upon rescuing their old friend from a terrible fate, our heroes must brave the ruins of Stoneholm to secure important supplies.\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes:\nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Nick Graves: http://www.youtube.com/watch?v=OLUuy1vgkVM", "Minecraft - \"Shadow of Israphel\" Part 32: Beer and Lava", "4719592b-67a0-49b0-940c-75b27e4d074c", 1, [], 1469, false, "7jajzWpVpJ8", "https://www.youtube.com/watch?v=7jajzWpVpJ8", 76, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 32: Beer and Lava.mp4", false, false, false, 1, ~U[2011-09-30 21:23:40Z], ~U[2025-10-27 18:34:59Z], ~U[2025-10-27 18:34:59Z], "Upon rescuing their old friend from a terrible fate, our heroes must brave the ruins of Stoneholm to secure important supplies.\n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes:\nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Nick Graves: http://www.youtube.com/watch?v=OLUuy1vgkVM", "Minecraft - \"Shadow of Israphel\" Part 32: Beer and Lava", 1, 1469, false, "7jajzWpVpJ8", "https://www.youtube.com/watch?v=7jajzWpVpJ8", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 32: Beer and Lava.mp4", false, ~U[2011-09-30 21:23:40Z]] 14:34:59.676 [debug] QUERY OK source="sources" db=3.0ms queue=0.1ms idle=84.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:59.685 [debug] QUERY OK source="media_items" db=9.3ms queue=0.1ms idle=84.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-10-09 20:20:16Z], 1] 14:34:59.747 [debug] QUERY OK source="media_items" db=61.1ms idle=86.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["With Stoneholm secured, the heroes search for answers in the \"Deepcore\" - an abandoned dig site deep beneath the dwarven mountain. \n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes:\nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Bjorn Degerstedt.", "Minecraft - \"Shadow of Israphel\" Part 33: The Deepcore", "d9bee7a0-f1dd-4c02-b9bb-32f9644e3913", 1, [], 1055, false, "bNt-vUkFO1w", "https://www.youtube.com/watch?v=bNt-vUkFO1w", 77, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 33: The Deepcore.mp4", false, false, false, 1, ~U[2011-10-09 20:20:16Z], ~U[2025-10-27 18:34:59Z], ~U[2025-10-27 18:34:59Z], "With Stoneholm secured, the heroes search for answers in the \"Deepcore\" - an abandoned dig site deep beneath the dwarven mountain. \n\nShadow of Israphel Soundtrack by Daniel Yount is now available on iTunes:\nUS Store Link: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\nUK Store Link: http://itunes.apple.com/gb/album/the-yogscast-shadow-israphel/id445471074\n\nTitle Splashscreen by Bjorn Degerstedt.", "Minecraft - \"Shadow of Israphel\" Part 33: The Deepcore", 1, 1055, false, "bNt-vUkFO1w", "https://www.youtube.com/watch?v=bNt-vUkFO1w", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 33: The Deepcore.mp4", false, ~U[2011-10-09 20:20:16Z]] 14:34:59.752 [debug] QUERY OK source="sources" db=3.9ms queue=0.1ms idle=145.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:59.762 [debug] QUERY OK source="media_items" db=9.8ms idle=80.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-11-04 21:32:59Z], 1] 14:34:59.831 [debug] QUERY OK source="media_items" db=68.2ms idle=86.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["After chasing the corrupt King Finbar through the forgotten dwarven mines of the Deepcore, our heroes must put an end to his evil plans at a mysterious building in the middle of nowhere...\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n\n♪ Daniel Yount: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\n\n♦ Intro splashscreen by DeathriS http://deathris.deviantart.com/art/Yogsraphel-212566688\n♦ Additional artwork by Lalna\n\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "\"Shadow of Israphel\" Part 34: The Spire", "5eca326f-3c24-4adb-ad08-b70b32733320", 1, [], 916, false, "8KFvN2kOGpM", "https://www.youtube.com/watch?v=8KFvN2kOGpM", 78, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 34: The Spire.mp4", false, false, false, 1, ~U[2011-11-04 21:32:59Z], ~U[2025-10-27 18:34:59Z], ~U[2025-10-27 18:34:59Z], "After chasing the corrupt King Finbar through the forgotten dwarven mines of the Deepcore, our heroes must put an end to his evil plans at a mysterious building in the middle of nowhere...\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n\n♪ Daniel Yount: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\n\n♦ Intro splashscreen by DeathriS http://deathris.deviantart.com/art/Yogsraphel-212566688\n♦ Additional artwork by Lalna\n\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "\"Shadow of Israphel\" Part 34: The Spire", 1, 916, false, "8KFvN2kOGpM", "https://www.youtube.com/watch?v=8KFvN2kOGpM", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 34: The Spire.mp4", false, ~U[2011-11-04 21:32:59Z]] 14:34:59.835 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:59.845 [debug] QUERY OK source="media_items" db=9.8ms queue=0.1ms idle=87.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-11-20 01:04:38Z], 1] 14:34:59.915 [debug] QUERY OK source="media_items" db=69.1ms idle=93.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The brand new Minecraft episode, as shown excusively at Minecon 2011! Thanks to everyone who came and saw us in person at our panel! We'll put the rest of the panel up over the next few days!\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n♪ Daniel Yount: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\n♦ Intro splashscreen by explosivewhale\n♦ Additional artwork by Lalna\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Part 35: Lastwatch Hold (Minecon Special!)", "48f88e2a-8735-4aeb-9c94-4b6efa60bd5c", 1, [], 980, false, "AkpQN8JXY8g", "https://www.youtube.com/watch?v=AkpQN8JXY8g", 79, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 35: Lastwatch Hold (Minecon Special!).mp4", false, false, false, 1, ~U[2011-11-20 01:04:38Z], ~U[2025-10-27 18:34:59Z], ~U[2025-10-27 18:34:59Z], "The brand new Minecraft episode, as shown excusively at Minecon 2011! Thanks to everyone who came and saw us in person at our panel! We'll put the rest of the panel up over the next few days!\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n♪ Daniel Yount: http://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id445471074\n♦ Intro splashscreen by explosivewhale\n♦ Additional artwork by Lalna\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Part 35: Lastwatch Hold (Minecon Special!)", 1, 980, false, "AkpQN8JXY8g", "https://www.youtube.com/watch?v=AkpQN8JXY8g", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 35: Lastwatch Hold (Minecon Special!).mp4", false, ~U[2011-11-20 01:04:38Z]] 14:34:59.918 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=153.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:59.929 [debug] QUERY OK source="media_items" db=10.1ms queue=0.1ms idle=87.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-11-21 08:41:34Z], 1] 14:34:59.999 [debug] QUERY OK source="media_items" db=68.4ms queue=0.1ms idle=95.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The brand new Minecraft episode showing a variety of outtakes, as shown excusively at Minecon 2011! Thanks to everyone who came and saw us in person at our panel! We'll put the rest of the panel up over the next few days!\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n♦ Intro splashscreen by explosivewhale\n♦ Additional artwork by Lalna\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Outtakes (Minecon Special!)", "bd99f5d0-a0fb-4860-85ff-0622df03c685", 1, [], 236, false, "TIAPug4bcWM", "https://www.youtube.com/watch?v=TIAPug4bcWM", 80, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Outtakes (Minecon Special!).mp4", false, false, false, 1, ~U[2011-11-21 08:41:34Z], ~U[2025-10-27 18:34:59Z], ~U[2025-10-27 18:34:59Z], "The brand new Minecraft episode showing a variety of outtakes, as shown excusively at Minecon 2011! Thanks to everyone who came and saw us in person at our panel! We'll put the rest of the panel up over the next few days!\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n♦ Intro splashscreen by explosivewhale\n♦ Additional artwork by Lalna\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Outtakes (Minecon Special!)", 1, 236, false, "TIAPug4bcWM", "https://www.youtube.com/watch?v=TIAPug4bcWM", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Outtakes (Minecon Special!).mp4", false, ~U[2011-11-21 08:41:34Z]] 14:35:00.002 [debug] QUERY OK source="sources" db=2.9ms idle=154.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:00.012 [debug] QUERY OK source="media_items" db=9.5ms queue=0.1ms idle=87.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2012-02-14 23:39:52Z], 1] 14:35:00.082 [debug] QUERY OK source="media_items" db=69.2ms queue=0.1ms idle=94.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A terrible discovery at Lastwatch Hold warns of a catastrophic failure of the wall that holds back the desert. With time running out, our heroes must find their way back to Verigan's Hold, and seek Adaephon's help to decipher the mysterious map...\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\nThe secret of chat bubbles in Minecraft! http://www.youtube.com/watch?v=RIDLP8_GFRc\n\nTitle Splashscreen by Chew.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Part 36: The Last Letter", "b7519051-1804-4a05-80af-4398b8c3920e", 1, [], 1385, false, "-b6gV8Fr3Qk", "https://www.youtube.com/watch?v=-b6gV8Fr3Qk", 81, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 36: The Last Letter.mp4", false, false, false, 1, ~U[2012-02-14 23:39:52Z], ~U[2025-10-27 18:35:00Z], ~U[2025-10-27 18:35:00Z], "A terrible discovery at Lastwatch Hold warns of a catastrophic failure of the wall that holds back the desert. With time running out, our heroes must find their way back to Verigan's Hold, and seek Adaephon's help to decipher the mysterious map...\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\nThe secret of chat bubbles in Minecraft! http://www.youtube.com/watch?v=RIDLP8_GFRc\n\nTitle Splashscreen by Chew.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Part 36: The Last Letter", 1, 1385, false, "-b6gV8Fr3Qk", "https://www.youtube.com/watch?v=-b6gV8Fr3Qk", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 36: The Last Letter.mp4", false, ~U[2012-02-14 23:39:52Z]] 14:35:00.086 [debug] QUERY OK source="sources" db=2.7ms idle=153.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:00.096 [debug] QUERY OK source="media_items" db=10.2ms queue=0.1ms idle=87.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2012-03-01 21:40:04Z], 1] 14:35:00.174 [debug] QUERY OK source="media_items" db=76.7ms idle=95.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["After healing Adaephon, the heroes set out in search of a tree, a tomb and a secret, but following the steps of the map is treacherous at best. \n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\nTitle Splashscreen by Carrotfire.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Part 37: Ballooning", "05937909-27d0-48ae-b878-1b46d8841801", 1, [], 1253, false, "GDQQ03BEpa8", "https://www.youtube.com/watch?v=GDQQ03BEpa8", 82, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 37: Ballooning.mp4", false, false, false, 1, ~U[2012-03-01 21:40:04Z], ~U[2025-10-27 18:35:00Z], ~U[2025-10-27 18:35:00Z], "After healing Adaephon, the heroes set out in search of a tree, a tomb and a secret, but following the steps of the map is treacherous at best. \n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\nTitle Splashscreen by Carrotfire.\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Part 37: Ballooning", 1, 1253, false, "GDQQ03BEpa8", "https://www.youtube.com/watch?v=GDQQ03BEpa8", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 37: Ballooning.mp4", false, ~U[2012-03-01 21:40:04Z]] 14:35:00.178 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=162.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:35:00.188 [debug] QUERY OK source="media_items" db=10.1ms idle=95.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2012-04-15 20:27:24Z], 1] 14:35:00.258 [debug] QUERY OK source="media_items" db=68.7ms idle=103.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["With time running out, the heroes enter the desert to seek out the secrets hidden in the Templar's map. With the wall shattered and the bastions of Verigan's Hold and Lastwatch buried in sand, time is of the essence and the world must be saved!\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\nTitle Splashscreen by Carrotfire\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Part 38: The Hand", "6df03a5e-e873-409a-869e-4903abfe126d", 1, [], 1681, false, "3mUlReQx32Q", "https://www.youtube.com/watch?v=3mUlReQx32Q", 83, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 38: The Hand.mp4", false, false, false, 1, ~U[2012-04-15 20:27:24Z], ~U[2025-10-27 18:35:00Z], ~U[2025-10-27 18:35:00Z], "With time running out, the heroes enter the desert to seek out the secrets hidden in the Templar's map. With the wall shattered and the bastions of Verigan's Hold and Lastwatch buried in sand, time is of the essence and the world must be saved!\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\nTitle Splashscreen by Carrotfire\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271", "Minecraft - \"Shadow of Israphel\" Part 38: The Hand", 1, 1681, false, "3mUlReQx32Q", "https://www.youtube.com/watch?v=3mUlReQx32Q", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - Minecraft - "Shadow of Israphel" Part 38: The Hand.mp4", false, ~U[2012-04-15 20:27:24Z]] 14:35:00.262 [debug] QUERY OK source="sources" db=3.1ms queue=0.1ms idle=162.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:00.271 [debug] QUERY OK source="media_items" db=9.0ms queue=0.1ms idle=88.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2012-07-06 18:44:40Z], 1] 14:35:00.342 [debug] QUERY OK source="media_items" db=69.7ms idle=94.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Knight Peculier's demise has sent the heroes on a spiralling path of not knowing what the hell to do! The heroes stride blindly onward, with little to no direction. Can they escape from the giant machine that they are trapped in? Can they save Daisy, if not for Knight Peculier, then for her maidens honour? \n\nYes, Shadow of Israphel is back! We're gonna put it up weekly on Fridays, so be excited :D\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n● Powered by Chillblast: http://www.chillblast.com/yogscast.html", "\"Shadow of Israphel\" Part 39: Doppelgängers", "020c389e-db72-41a0-8fc8-af1ac8afb177", 1, [], 865, false, "EVyA4kOyLf0", "https://www.youtube.com/watch?v=EVyA4kOyLf0", 84, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 39: Doppelgängers.mp4", false, false, false, 1, ~U[2012-07-06 18:44:40Z], ~U[2025-10-27 18:35:00Z], ~U[2025-10-27 18:35:00Z], "Knight Peculier's demise has sent the heroes on a spiralling path of not knowing what the hell to do! The heroes stride blindly onward, with little to no direction. Can they escape from the giant machine that they are trapped in? Can they save Daisy, if not for Knight Peculier, then for her maidens honour? \n\nYes, Shadow of Israphel is back! We're gonna put it up weekly on Fridays, so be excited :D\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n● Powered by Chillblast: http://www.chillblast.com/yogscast.html", "\"Shadow of Israphel\" Part 39: Doppelgängers", 1, 865, false, "EVyA4kOyLf0", "https://www.youtube.com/watch?v=EVyA4kOyLf0", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 39: Doppelgängers.mp4", false, ~U[2012-07-06 18:44:40Z]] 14:35:00.346 [debug] QUERY OK source="sources" db=3.1ms queue=0.1ms idle=154.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:00.356 [debug] QUERY OK source="media_items" db=9.4ms queue=0.1ms idle=88.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2012-07-13 21:51:15Z], 1] 14:35:00.451 [debug] QUERY OK source="media_items" db=94.3ms idle=94.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Chasing an evil clone of Honeydew through the bowels of an ancient robot buried beneath the sands, the heroes find an unexpected surprise awaiting them and must fight to find their way out!\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n● Powered by Chillblast: http://www.chillblast.com/yogscast.html\n● PO Box: The Yogscast, PO Box 3125, Bristol, BS2 2DG", "\"Shadow of Israphel\" Part 40: Facility 4", "5e4259a0-2ba9-4bea-8ada-c10e6570afdd", 1, [], 994, false, "xaCR6xNQe9w", "https://www.youtube.com/watch?v=xaCR6xNQe9w", 85, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 40: Facility 4.mp4", false, false, false, 1, ~U[2012-07-13 21:51:15Z], ~U[2025-10-27 18:35:00Z], ~U[2025-10-27 18:35:00Z], "Chasing an evil clone of Honeydew through the bowels of an ancient robot buried beneath the sands, the heroes find an unexpected surprise awaiting them and must fight to find their way out!\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n● Powered by Chillblast: http://www.chillblast.com/yogscast.html\n● PO Box: The Yogscast, PO Box 3125, Bristol, BS2 2DG", "\"Shadow of Israphel\" Part 40: Facility 4", 1, 994, false, "xaCR6xNQe9w", "https://www.youtube.com/watch?v=xaCR6xNQe9w", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 40: Facility 4.mp4", false, ~U[2012-07-13 21:51:15Z]] 14:35:00.455 [debug] QUERY OK source="sources" db=3.2ms queue=0.1ms idle=180.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:35:00.466 [debug] QUERY OK source="media_items" db=10.7ms queue=0.1ms idle=113.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2012-07-20 19:14:12Z], 1] 14:35:00.545 [debug] QUERY OK source="media_items" db=77.5ms queue=0.1ms idle=121.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["After escaping from the buried remains of a giant robots buried underneath the sand, the heroes must press on to find aid for the injured Professor Webley, who can guide them to the Tomb of the Templar Kings, hidden somewhere deep in the desert. \n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n● Powered by Chillblast: http://www.chillblast.com/yogscast.html\n● PO Box: The Yogscast, PO Box 3125, Bristol, BS2 2DG", "\"Shadow of Israphel\" Part 41: Far From Home", "880429fe-de65-4be0-a49d-910803340078", 1, [], 1062, false, "CSgAs5APDG4", "https://www.youtube.com/watch?v=CSgAs5APDG4", 86, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 41: Far From Home.mp4", false, false, false, 1, ~U[2012-07-20 19:14:12Z], ~U[2025-10-27 18:35:00Z], ~U[2025-10-27 18:35:00Z], "After escaping from the buried remains of a giant robots buried underneath the sand, the heroes must press on to find aid for the injured Professor Webley, who can guide them to the Tomb of the Templar Kings, hidden somewhere deep in the desert. \n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n● Powered by Chillblast: http://www.chillblast.com/yogscast.html\n● PO Box: The Yogscast, PO Box 3125, Bristol, BS2 2DG", "\"Shadow of Israphel\" Part 41: Far From Home", 1, 1062, false, "CSgAs5APDG4", "https://www.youtube.com/watch?v=CSgAs5APDG4", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 41: Far From Home.mp4", false, ~U[2012-07-20 19:14:12Z]] 14:35:00.548 [debug] QUERY OK source="sources" db=2.9ms idle=189.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:00.560 [debug] QUERY OK source="media_items" db=11.1ms queue=0.1ms idle=97.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2012-07-27 17:31:10Z], 1] 14:35:00.675 [debug] QUERY OK source="media_items" db=113.7ms idle=105.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","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" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Our heroes are searching for a healer in the desert to help their new friend Professor Webley, and they come across a familiar face who needs help at an oasis in the desert!\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n● Powered by Chillblast: http://www.chillblast.com/yogscast.html\n● PO Box: The Yogscast, PO Box 3125, Bristol, BS2 2DG", "\"Shadow of Israphel\" Part 42: The Oasis", "3da2e875-c7e3-4326-be8a-4a34a4b8a5a1", 1, [], 1018, false, "oZezE9It6HE", "https://www.youtube.com/watch?v=oZezE9It6HE", 87, "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 42: The Oasis.mp4", false, false, false, 1, ~U[2012-07-27 17:31:10Z], ~U[2025-10-27 18:35:00Z], ~U[2025-10-27 18:35:00Z], "Our heroes are searching for a healer in the desert to help their new friend Professor Webley, and they come across a familiar face who needs help at an oasis in the desert!\n\n♪ Musical cues by Daniel Yount: \nhttp://itunes.apple.com/us/album/the-yogscast-shadow-israphel/id493044333\nhttp://danielyount.bandcamp.com/album/the-yogscast-shadow-of-israphel-soundtrack-vol-2\n\n● Yogscast Gear: http://yogscast.spreadshirt.co.uk/\n● Facebook: http://www.facebook.com/yogscast\n● Twitter: http://www.twitter.com/yogscast\n● Forums: http://yogscast.com/forum.php\n● Podcast: http://itunes.apple.com/gb/podcast/the-yogpod/id304557271\n● Powered by Chillblast: http://www.chillblast.com/yogscast.html\n● PO Box: The Yogscast, PO Box 3125, Bristol, BS2 2DG", "\"Shadow of Israphel\" Part 42: The Oasis", 1, 1018, false, "oZezE9It6HE", "https://www.youtube.com/watch?v=oZezE9It6HE", "/downloads/shows/Shadow Of Israphel/Season 1/s01e00 - "Shadow of Israphel" Part 42: The Oasis.mp4", false, ~U[2012-07-27 17:31:10Z]] 14:35:00.721 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:35:00.744 [debug] QUERY OK source="sources" db=67.9ms idle=131.1ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 18:35:00Z], ~U[2025-10-27 18:35:00Z], 1] 14:35:00.792 [info] {"args":{"force":true,"id":1},"id":4,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":176917975,"event":"job:stop","queue_time":884574463,"attempt":2,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:35:02.749 [info] {"source":"oban","duration":4052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:32.754 [info] {"source":"oban","duration":4318,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:41.636 [info] GET /app_info 14:35:41.637 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 14:35:41.640 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=1616.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.643 [debug] QUERY OK source="settings" db=2.4ms idle=1619.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.647 [debug] QUERY OK source="settings" db=3.0ms idle=1622.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.651 [debug] QUERY OK source="settings" db=2.7ms idle=1626.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.656 [debug] QUERY OK source="settings" db=5.5ms idle=792.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.658 [info] Sent 200 in 21ms 14:35:41.785 [info] CONNECTED TO Phoenix.LiveView.Socket in 40µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "SgUwEg5ICRAhFilgKnEBGzENLR8JJBUKrtTuM19uvzhXZ94pcTHzQCyH", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:35:41.796 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:35:41.796 [debug] Replied in 134µs 14:35:42.721 [info] GET /app_info 14:35:42.721 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 14:35:42.724 [debug] QUERY OK source="settings" db=2.7ms idle=1078.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.727 [debug] QUERY OK source="settings" db=2.8ms idle=1077.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.731 [debug] QUERY OK source="settings" db=2.3ms idle=1077.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.734 [debug] QUERY OK source="settings" db=2.1ms idle=1075.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.736 [debug] QUERY OK source="settings" db=2.1ms idle=871.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.737 [info] Sent 200 in 16ms 14:35:43.858 [info] GET /sources 14:35:43.858 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 14:35:43.861 [debug] QUERY OK source="settings" db=2.5ms idle=1130.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.864 [debug] QUERY OK source="settings" db=2.2ms idle=1130.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.866 [debug] QUERY OK source="settings" db=2.1ms idle=1130.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.869 [debug] QUERY OK source="settings" db=1.9ms queue=0.1ms idle=1130.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.870 [debug] QUERY OK source="settings" db=0.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:35:43.883 [debug] QUERY OK source="sources" db=11.6ms queue=0.5ms idle=7.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)) [] 14:35:43.895 [debug] QUERY OK source="sources" db=10.9ms queue=0.5ms idle=17.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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:35:43.898 [info] Sent 200 in 39ms 14:35:43.987 [info] CONNECTED TO Phoenix.LiveView.Socket in 36µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fDgCEgwpeQlhGilrIwwNBTQbV1cMOFs3DIfuOPIl6vhSSD8nfB22T_7u", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:35:44.002 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 14:35:44.013 [debug] QUERY OK source="sources" db=10.4ms queue=0.1ms idle=133.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)) [] 14:35:44.026 [debug] QUERY OK source="sources" db=11.9ms queue=0.1ms idle=143.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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:35:44.026 [debug] Replied in 24ms 14:35:44.028 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:35:44.028 [debug] Replied in 117µs 14:35:47.147 [info] GET /sources/1 14:35:47.147 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:35:47.151 [debug] QUERY OK source="sources" db=3.2ms idle=1126.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:47.154 [debug] QUERY OK source="media_profiles" db=2.3ms queue=0.1ms idle=268.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:47.158 [debug] QUERY OK source="tasks" db=3.2ms idle=132.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 14:35:47.161 [debug] QUERY OK source="settings" db=2.5ms idle=135.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:47.163 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=138.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:47.167 [debug] QUERY OK source="settings" db=3.2ms 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 [] 14:35:47.172 [debug] QUERY OK source="sources" db=2.3ms idle=15.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:47.175 [debug] QUERY OK source="media_items" db=2.4ms queue=0.4ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:47.179 [debug] QUERY OK source="media_items" db=2.7ms queue=0.4ms idle=14.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] 14:35:47.182 [debug] QUERY OK source="sources" db=2.0ms idle=16.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:47.185 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=14.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:35:47.188 [debug] QUERY OK source="media_items" db=2.3ms queue=0.2ms idle=13.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:35:47.191 [debug] QUERY OK source="sources" db=2.3ms 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] 14:35:47.194 [debug] QUERY OK source="media_items" db=2.2ms queue=0.4ms 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] 14:35:47.199 [debug] QUERY OK source="media_items" db=2.6ms queue=1.1ms idle=13.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:35:47.200 [info] Sent 200 in 52ms 14:35:47.334 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "QBsOVzoyAAA9KxNpPX5BJBgzAldpLD96xjj0yK0ejGRQM6tOJjg21KS8", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:35:47.345 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "pending", "source_id" => 1} 14:35:47.349 [debug] QUERY OK source="sources" db=3.1ms idle=160.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:47.352 [debug] QUERY OK source="media_items" db=3.0ms idle=160.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:35:47.355 [debug] QUERY OK source="media_items" db=2.8ms idle=161.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:35:47.356 [debug] Replied in 10ms 14:35:47.358 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "downloaded", "source_id" => 1} 14:35:47.361 [debug] QUERY OK source="sources" db=2.6ms idle=164.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:47.364 [debug] QUERY OK source="media_items" db=2.3ms idle=162.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:35:47.374 [debug] QUERY OK source="media_items" db=9.9ms idle=15.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:35:47.374 [debug] Replied in 16ms 14:35:47.375 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "other", "source_id" => 1} 14:35:47.379 [debug] QUERY OK source="sources" db=2.7ms idle=23.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:35:47.382 [debug] QUERY OK source="media_items" db=2.4ms idle=23.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:35:47.386 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=20.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:35:47.386 [debug] Replied in 10ms 14:35:47.387 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:35:47.387 [debug] Replied in 79µs 14:35:55.211 [info] GET /sources/1/media/97/edit 14:35:55.211 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "97", "source_id" => "1"} Pipelines: [:browser] 14:35:55.214 [debug] QUERY OK source="media_items" db=2.5ms queue=0.3ms idle=294.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" = ?) [97] 14:35:55.218 [debug] QUERY OK source="settings" db=2.7ms idle=192.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:55.221 [debug] QUERY OK source="settings" db=2.7ms idle=195.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:55.224 [debug] QUERY OK source="settings" db=2.0ms idle=199.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:55.225 [info] Sent 200 in 14ms 14:35:55.398 [info] CONNECTED TO Phoenix.LiveView.Socket in 42µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "AQBSK3EwelIkNShfOANfMTkJEgsxFD4z9q6L2IJ7sYigHKjZkPwnisRq", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:35:55.414 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:35:55.414 [debug] Replied in 129µs 14:35:55.936 [info] GET /sources/1/media/97/edit 14:35:55.936 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "97", "source_id" => "1"} Pipelines: [:browser] 14:35:55.939 [debug] QUERY OK source="media_items" db=2.6ms idle=721.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" = ?) [97] 14:35:55.942 [debug] QUERY OK source="settings" db=2.2ms idle=721.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:55.944 [debug] QUERY OK source="settings" db=2.2ms idle=721.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:55.947 [debug] QUERY OK source="settings" db=2.1ms idle=721.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:55.948 [info] Sent 200 in 12ms 14:36:00.167 [info] GET /sources/1 14:36:00.168 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:36:00.171 [debug] QUERY OK source="sources" db=2.8ms idle=1145.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:00.174 [debug] QUERY OK source="media_profiles" db=2.5ms idle=1149.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_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:00.178 [debug] QUERY OK source="tasks" db=3.5ms idle=1152.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 14:36:00.181 [debug] QUERY OK source="settings" db=2.5ms idle=1156.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:00.183 [debug] QUERY OK source="settings" db=2.1ms idle=243.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:00.186 [debug] QUERY OK source="settings" db=2.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 [] 14:36:00.191 [debug] QUERY OK source="sources" db=2.4ms idle=14.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:36:00.195 [debug] QUERY OK source="media_items" db=3.9ms idle=13.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] 14:36:00.200 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=14.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:36:00.204 [debug] QUERY OK source="sources" db=2.8ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:36:00.207 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=18.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:36:00.210 [debug] QUERY OK source="media_items" db=2.6ms 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] 14:36:00.213 [debug] QUERY OK source="sources" db=2.1ms idle=15.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:36:00.216 [debug] QUERY OK source="media_items" db=2.9ms 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:36:00.220 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=12.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] 14:36:00.221 [info] Sent 200 in 54ms 14:36:00.340 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "eTRRMy8WYic9IAJZJn8EXGofMRYdNykgAE5TloRBjLCaV7178FTsEPEb", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:36:00.356 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "pending", "source_id" => 1} 14:36:00.359 [debug] QUERY OK source="sources" db=3.1ms idle=148.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:00.363 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=149.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:36:00.366 [debug] QUERY OK source="media_items" db=2.7ms idle=150.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 14:36:00.366 [debug] Replied in 10ms 14:36:00.368 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "downloaded", "source_id" => 1} 14:36:00.372 [debug] QUERY OK source="sources" db=3.2ms idle=152.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:00.376 [debug] QUERY OK source="media_items" db=3.5ms idle=152.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:36:00.379 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms 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] 14:36:00.379 [debug] Replied in 10ms 14:36:00.380 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "other", "source_id" => 1} 14:36:00.384 [debug] QUERY OK source="sources" db=3.3ms idle=17.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:36:00.387 [debug] QUERY OK source="media_items" db=2.4ms idle=18.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:36:00.391 [debug] QUERY OK source="media_items" db=3.4ms idle=15.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] 14:36:00.391 [debug] Replied in 10ms 14:36:00.393 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:36:00.393 [debug] Replied in 194µs 14:36:00.722 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:36:02.759 [info] {"source":"oban","duration":4104,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:23.138 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:36:23.142 [debug] QUERY OK source="media_items" db=2.8ms idle=1116.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] 14:36:23.145 [debug] QUERY OK source="media_items" db=3.3ms idle=1119.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, 10] 14:36:23.146 [debug] Replied in 7ms 14:36:24.639 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:36:24.643 [debug] QUERY OK source="media_items" db=3.3ms idle=1498.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:36:24.646 [debug] QUERY OK source="media_items" db=2.8ms idle=1498.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, 20] 14:36:24.646 [debug] Replied in 7ms 14:36:25.239 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:36:25.243 [debug] QUERY OK source="media_items" db=3.4ms idle=1216.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] 14:36:25.246 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=1201.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, 30] 14:36:25.246 [debug] Replied in 7ms 14:36:25.812 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:36:25.815 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=1169.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:36:25.819 [debug] QUERY OK source="media_items" db=3.0ms idle=1169.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, 40] 14:36:25.819 [debug] Replied in 7ms 14:36:26.180 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:36:26.184 [debug] QUERY OK source="media_items" db=4.1ms idle=937.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] 14:36:26.188 [debug] QUERY OK source="media_items" db=2.9ms idle=938.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, 50] 14:36:26.188 [debug] Replied in 8ms 14:36:26.491 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:36:26.494 [debug] QUERY OK source="media_items" db=2.5ms idle=676.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:36:26.497 [debug] QUERY OK source="media_items" db=3.1ms idle=675.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, 60] 14:36:26.498 [debug] Replied in 7ms 14:36:26.836 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:36:26.839 [debug] QUERY OK source="media_items" db=2.7ms idle=785.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:36:26.843 [debug] QUERY OK source="media_items" db=2.8ms idle=655.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, 70] 14:36:26.843 [debug] Replied in 6ms 14:36:27.287 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:36:27.292 [debug] QUERY OK source="media_items" db=4.6ms idle=793.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] 14:36:27.297 [debug] QUERY OK source="media_items" db=4.7ms idle=795.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, 80] 14:36:27.298 [debug] Replied in 10ms 14:36:32.764 [info] {"source":"oban","duration":3545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:00.723 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:37:02.768 [info] {"source":"oban","duration":3684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:11.053 [debug] HANDLE EVENT "reload_page" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"value" => ""} 14:37:11.053 [debug] Replied in 352µs 14:37:11.056 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=1029.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:37:11.056 [debug] QUERY OK source="media_items" db=3.2ms idle=1030.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:37:11.057 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=1029.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:37:11.061 [debug] QUERY OK source="media_items" db=3.6ms queue=0.6ms idle=1033.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] 14:37:11.061 [debug] QUERY OK source="media_items" db=3.6ms queue=0.2ms idle=1.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 14:37:11.061 [debug] QUERY OK source="media_items" db=4.2ms queue=0.2ms idle=808.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, 80] 14:37:32.771 [info] {"source":"oban","duration":3177,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:48.643 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "dec"} 14:37:48.646 [debug] QUERY OK source="media_items" db=2.9ms idle=1620.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:37:48.650 [debug] QUERY OK source="media_items" db=2.8ms idle=1623.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, 70] 14:37:48.650 [debug] Replied in 6ms 14:37:51.201 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "dec"} 14:37:51.204 [debug] QUERY OK source="media_items" db=2.8ms idle=1177.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] 14:37:51.207 [debug] QUERY OK source="media_items" db=2.8ms idle=1180.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, 60] 14:37:51.207 [debug] Replied in 6ms 14:37:51.844 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "dec"} 14:37:51.848 [debug] QUERY OK source="media_items" db=3.1ms idle=1407.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] 14:37:51.851 [debug] QUERY OK source="media_items" db=3.0ms idle=824.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, 50] 14:37:51.851 [debug] Replied in 7ms 14:37:52.280 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "dec"} 14:37:52.283 [debug] QUERY OK source="media_items" db=3.1ms idle=1076.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:37:52.286 [debug] QUERY OK source="media_items" db=2.9ms idle=1076.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, 40] 14:37:52.287 [debug] Replied in 7ms 14:37:52.736 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "dec"} 14:37:52.739 [debug] QUERY OK source="media_items" db=2.7ms idle=888.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] 14:37:52.743 [debug] QUERY OK source="media_items" db=3.1ms idle=888.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 30] 14:37:52.743 [debug] Replied in 6ms 14:37:53.161 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "dec"} 14:37:53.164 [debug] QUERY OK source="media_items" db=3.0ms idle=878.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:37:53.168 [debug] QUERY OK source="media_items" db=2.8ms idle=878.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, 20] 14:37:53.168 [debug] Replied in 7ms 14:37:53.604 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "dec"} 14:37:53.607 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=864.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:37:53.612 [debug] QUERY OK source="media_items" db=4.0ms idle=865.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, 10] 14:37:53.612 [debug] Replied in 8ms 14:37:53.975 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "dec"} 14:37:53.978 [debug] QUERY OK source="media_items" db=2.9ms idle=811.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:37:53.982 [debug] QUERY OK source="media_items" db=3.3ms queue=0.1ms idle=811.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] 14:37:53.983 [debug] Replied in 7ms 14:37:56.440 [debug] HANDLE EVENT "reload_page" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"value" => ""} 14:37:56.440 [debug] Replied in 230µs 14:37:56.444 [debug] QUERY OK source="media_items" db=2.9ms idle=1417.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:37:56.444 [debug] QUERY OK source="media_items" db=2.9ms idle=1417.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] 14:37:56.444 [debug] QUERY OK source="media_items" db=3.3ms idle=1417.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:37:56.447 [debug] QUERY OK source="media_items" db=2.8ms idle=1420.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] 14:37:56.449 [debug] QUERY OK source="media_items" db=4.6ms queue=0.1ms idle=0.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] 14:37:56.450 [debug] QUERY OK source="media_items" db=5.7ms idle=983.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] 14:38:00.724 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:38:02.776 [info] {"source":"oban","duration":3714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:26.154 [info] GET /media_profiles/1 14:38:26.154 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:38:26.159 [debug] QUERY OK source="media_profiles" db=4.4ms idle=559.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:38:26.162 [debug] QUERY OK source="sources" db=2.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."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 14:38:26.165 [debug] QUERY OK source="settings" db=2.1ms idle=139.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.168 [debug] QUERY OK source="settings" db=2.4ms idle=142.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.173 [debug] QUERY OK source="settings" db=4.1ms idle=145.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.175 [info] Sent 200 in 21ms 14:38:26.334 [info] CONNECTED TO Phoenix.LiveView.Socket in 36µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "TBg9HxdNQAMuPzRbPAV3GzEQLgcCBDUutiYxT4pfySucLMBpcIKbZcYl", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:38:26.358 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:38:26.358 [debug] Replied in 209µs 14:38:28.335 [info] GET /media_profiles/1/edit 14:38:28.335 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:38:28.339 [debug] QUERY OK source="media_profiles" db=2.9ms queue=0.1ms idle=732.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:38:28.342 [debug] QUERY OK source="settings" db=2.4ms idle=316.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.345 [debug] QUERY OK source="settings" db=2.3ms idle=319.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.348 [debug] QUERY OK source="settings" db=2.2ms 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 [] 14:38:28.350 [info] Sent 200 in 14ms 14:38:28.530 [info] CONNECTED TO Phoenix.LiveView.Socket in 37µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "bQQPJSoQRjwaKXhxGgpmPms1OioJDwEnUukBiivYME9IjBSU9l_OQhme", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:38:28.548 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:38:28.548 [debug] Replied in 124µs 14:38:32.781 [info] {"source":"oban","duration":4144,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:45.213 [info] POST /media_profiles/1 14:38:45.213 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.update/2 Parameters: %{"_csrf_token" => "bQQPJSoQRjwaKXhxGgpmPms1OioJDwEnUukBiivYME9IjBSU9l_OQhme", "_method" => "patch", "id" => "1", "media_profile" => %{"audio_track" => "", "download_auto_subs" => "true", "download_metadata" => "false", "download_nfo" => "true", "download_source_images" => "true", "download_subs" => "true", "download_thumbnail" => "true", "embed_metadata" => "true", "embed_subs" => "true", "embed_thumbnail" => "true", "livestream_behaviour" => "exclude", "media_container" => "", "name" => "YouTube Series (With Ep Nums)", "output_path_template" => "/series/{{ source_custom_name }}/{{ static_season__episode_by_index }} - {{ title }}.{{ ext }}", "preferred_resolution" => "1080p", "redownload_delay_days" => "1", "shorts_behaviour" => "exclude", "sponsorblock_behaviour" => "mark", "sponsorblock_categories" => ["sponsor", "intro", "outro", "selfpromo", "interaction"], "sub_langs" => "en"}, "media_profile_preset" => ""} Pipelines: [:browser] 14:38:45.216 [debug] QUERY OK source="media_profiles" db=2.5ms idle=1190.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:38:45.266 [debug] QUERY OK source="media_profiles" db=48.6ms idle=1193.7ms UPDATE "media_profiles" SET "output_path_template" = ?, "updated_at" = ? WHERE "id" = ? ["/series/{{ source_custom_name }}/{{ static_season__episode_by_index }} - {{ title }}.{{ ext }}", ~U[2025-10-27 18:38:45Z], 1] 14:38:45.266 [info] Sent 302 in 52ms 14:38:45.278 [info] GET /media_profiles/1 14:38:45.279 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:38:45.282 [debug] QUERY OK source="media_profiles" db=3.0ms queue=0.1ms idle=1255.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:38:45.285 [debug] QUERY OK source="sources" db=2.7ms idle=1259.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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:38:45.288 [debug] QUERY OK source="settings" db=2.3ms queue=0.2ms 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 [] 14:38:45.291 [debug] QUERY OK source="settings" db=2.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 [] 14:38:45.294 [debug] QUERY OK source="settings" db=2.2ms 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 [] 14:38:45.297 [info] Sent 200 in 18ms 14:38:45.388 [info] CONNECTED TO Phoenix.LiveView.Socket in 86µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cBQRIhwaejU1NHN0GX5SBBFuCSkNACh1HeuE_cJPbX2Li6goC7lLUgD7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:38:45.398 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:38:45.398 [debug] Replied in 246µs 14:38:47.495 [info] GET /media_profiles 14:38:47.495 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 14:38:47.499 [debug] QUERY OK source="media_profiles" db=3.4ms idle=802.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:38:47.503 [debug] QUERY OK source="settings" db=3.3ms idle=476.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:47.506 [debug] QUERY OK source="settings" db=2.6ms idle=479.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:47.510 [debug] QUERY OK source="settings" db=3.7ms queue=0.1ms idle=483.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:47.512 [info] Sent 200 in 17ms 14:38:48.608 [info] CONNECTED TO Phoenix.LiveView.Socket in 37µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dhQ9LBotWVM0BjFsXSNHCgU7HA5sMzQxNeYKYTi6cjpT-kraWbyk4TXs", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:38:48.624 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:38:48.625 [debug] Replied in 219µs 14:38:48.974 [info] GET /media_profiles/new 14:38:48.974 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 14:38:48.978 [debug] QUERY OK source="settings" db=3.2ms idle=1472.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:48.981 [debug] QUERY OK source="settings" db=2.4ms idle=1472.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:48.984 [debug] QUERY OK source="settings" db=2.4ms idle=1471.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:48.987 [debug] QUERY OK source="settings" db=2.6ms idle=1287.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:48.991 [debug] QUERY OK source="settings" db=2.6ms idle=285.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:48.993 [info] Sent 200 in 19ms 14:38:49.229 [info] CONNECTED TO Phoenix.LiveView.Socket in 40µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DhcPJjQYejACKiBeEjhdLw0rM1IAXhUM6fkAwaJUUFafbphD_rV7X9yN", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:38:49.251 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:38:49.251 [debug] Replied in 195µs 14:39:00.725 [info] {"source":"oban","duration":330,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:39:02.786 [info] {"source":"oban","duration":3787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:32.791 [info] {"source":"oban","duration":4090,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:49.377 [info] POST /media_profiles 14:39:49.378 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.create/2 Parameters: %{"_csrf_token" => "DhcPJjQYejACKiBeEjhdLw0rM1IAXhUM6fkAwaJUUFafbphD_rV7X9yN", "media_profile" => %{"audio_track" => "", "download_auto_subs" => "true", "download_metadata" => "true", "download_nfo" => "false", "download_source_images" => "false", "download_subs" => "true", "download_thumbnail" => "false", "embed_metadata" => "true", "embed_subs" => "true", "embed_thumbnail" => "true", "livestream_behaviour" => "include", "media_container" => "", "name" => "Channel", "output_path_template" => "/{{ source_custom_name }}/{{ upload_year }}/{{ upload_month }}/{{ title }} [{{ id }}].{{ ext }}", "preferred_resolution" => "1080p", "redownload_delay_days" => "", "shorts_behaviour" => "include", "sponsorblock_behaviour" => "mark", "sponsorblock_categories" => ["sponsor", "intro", "outro", "selfpromo", "preview", "filler", "interaction"], "sub_langs" => "en"}, "media_profile_preset" => ""} Pipelines: [:browser] 14:39:49.462 [debug] QUERY OK source="media_profiles" db=83.4ms idle=1351.8ms 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","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) RETURNING "id" ["Channel", "/{{ source_custom_name }}/{{ upload_year }}/{{ upload_month }}/{{ title }} [{{ id }}].{{ ext }}", ["sponsor", "intro", "outro", "selfpromo", "preview", "filler", "interaction"], :mark, false, true, true, true, true, "en", :"1080p", true, true, false, false, :include, :include, ~U[2025-10-27 18:39:49Z], ~U[2025-10-27 18:39:49Z]] 14:39:49.466 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=1435.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.466 [info] Sent 302 in 88ms 14:39:49.484 [info] GET /media_profiles/2 14:39:49.485 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 14:39:49.488 [debug] QUERY OK source="media_profiles" db=3.1ms idle=1457.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 14:39:49.492 [debug] QUERY OK source="sources" db=2.8ms idle=1461.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 14:39:49.495 [debug] QUERY OK source="settings" db=2.5ms idle=493.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.497 [debug] QUERY OK source="settings" db=2.4ms 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 [] 14:39:49.501 [debug] QUERY OK source="settings" db=2.3ms idle=32.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.502 [info] Sent 200 in 18ms 14:39:49.612 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "YjsuIXIhYCAxCCIKKSVtOgVtMgwwNCIEZJJF1XPEfdc2YmXQW4WihSNF", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:39:49.692 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:39:49.692 [debug] Replied in 184µs 14:39:50.390 [info] GET /media_profiles/2 14:39:50.390 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 14:39:50.394 [debug] QUERY OK source="media_profiles" db=3.9ms idle=898.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 14:39:50.397 [debug] QUERY OK source="sources" db=2.7ms idle=899.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 14:39:50.400 [debug] QUERY OK source="settings" db=1.9ms idle=900.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.402 [debug] QUERY OK source="settings" db=2.1ms idle=899.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.405 [debug] QUERY OK source="settings" db=2.5ms idle=399.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.407 [info] Sent 200 in 17ms 14:39:51.760 [info] GET /media_profiles/2/edit 14:39:51.761 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 14:39:51.771 [debug] QUERY OK source="media_profiles" db=9.8ms idle=1363.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 14:39:51.775 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=1371.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:51.779 [debug] QUERY OK source="settings" db=3.3ms queue=0.1ms idle=1373.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:51.782 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=1374.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:51.786 [info] Sent 200 in 25ms 14:39:52.130 [info] CONNECTED TO Phoenix.LiveView.Socket in 38µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Ugc2ASxAHQsAGhFrJQUNBxA0LCwaUi8YjvRfo9-nWvPSUM8lBmIIB5CZ", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:39:52.165 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:39:52.165 [debug] Replied in 147µs 14:39:52.601 [info] GET /media_profiles/2/edit 14:39:52.601 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 14:39:52.604 [debug] QUERY OK source="media_profiles" db=2.4ms idle=830.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 14:39:52.606 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=828.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:52.609 [debug] QUERY OK source="settings" db=2.0ms idle=827.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:52.612 [debug] QUERY OK source="settings" db=2.6ms idle=827.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:52.615 [info] Sent 200 in 14ms 14:40:00.727 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:40:02.795 [info] {"source":"oban","duration":3551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:15.800 [info] POST /media_profiles/2 14:40:15.800 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.update/2 Parameters: %{"_csrf_token" => "Ugc2ASxAHQsAGhFrJQUNBxA0LCwaUi8YjvRfo9-nWvPSUM8lBmIIB5CZ", "_method" => "patch", "id" => "2", "media_profile" => %{"audio_track" => "", "download_auto_subs" => "true", "download_metadata" => "true", "download_nfo" => "false", "download_source_images" => "false", "download_subs" => "true", "download_thumbnail" => "false", "embed_metadata" => "true", "embed_subs" => "true", "embed_thumbnail" => "true", "livestream_behaviour" => "include", "media_container" => "", "name" => "Channel (All Videos)", "output_path_template" => "/{{ source_custom_name }}/{{ upload_year }}/{{ upload_month }}/{{ title }} [{{ id }}].{{ ext }}", "preferred_resolution" => "1080p", "redownload_delay_days" => "2", "shorts_behaviour" => "include", "sponsorblock_behaviour" => "mark", "sponsorblock_categories" => ["sponsor", "intro", "outro", "selfpromo", "preview", "filler", "interaction"], "sub_langs" => "en"}, "media_profile_preset" => ""} Pipelines: [:browser] 14:40:15.804 [debug] QUERY OK source="media_profiles" db=2.5ms queue=0.1ms idle=1773.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 14:40:15.856 [debug] QUERY OK source="media_profiles" db=51.8ms idle=1776.7ms UPDATE "media_profiles" SET "name" = ?, "redownload_delay_days" = ?, "updated_at" = ? WHERE "id" = ? ["Channel (All Videos)", 2, ~U[2025-10-27 18:40:15Z], 2] 14:40:15.856 [info] Sent 302 in 56ms 14:40:15.869 [info] GET /media_profiles/2 14:40:15.869 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 14:40:15.872 [debug] QUERY OK source="media_profiles" db=3.0ms idle=1841.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 14:40:15.875 [debug] QUERY OK source="sources" db=2.5ms idle=1750.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 14:40:15.878 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=748.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:15.881 [debug] QUERY OK source="settings" db=2.4ms 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 [] 14:40:15.884 [debug] QUERY OK source="settings" db=2.2ms 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 [] 14:40:15.886 [info] Sent 200 in 17ms 14:40:16.100 [info] CONNECTED TO Phoenix.LiveView.Socket in 33µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "CwUyBCsafww7Kwl-Qw8MPWU6FjE9OF8M3tVchcOilGHF3G9V7csTe_3N", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:40:16.112 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:40:16.113 [debug] Replied in 148µs 14:40:17.994 [info] GET /media_profiles 14:40:17.994 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 14:40:17.998 [debug] QUERY OK source="media_profiles" db=4.0ms idle=967.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:40:18.002 [debug] QUERY OK source="settings" db=2.6ms 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:40:18.004 [debug] QUERY OK source="settings" db=1.9ms idle=974.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:18.007 [debug] QUERY OK source="settings" db=2.1ms idle=977.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:18.009 [info] Sent 200 in 15ms 14:40:18.158 [info] CONNECTED TO Phoenix.LiveView.Socket in 49µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "djQwVTcQXypnKwpXEQZEIgB0HDYzVQgrNET2tioO0GKoaNqIR-ySk2di", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:40:18.180 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:40:18.181 [debug] Replied in 301µs 14:40:32.427 [info] GET /sources 14:40:32.427 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 14:40:32.430 [debug] QUERY OK source="settings" db=2.3ms idle=1400.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:32.432 [debug] QUERY OK source="settings" db=2.4ms idle=1402.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:32.436 [debug] QUERY OK source="settings" db=2.5ms idle=1406.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:32.439 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=1238.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:32.441 [debug] QUERY OK source="settings" db=1.8ms idle=236.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:32.452 [debug] QUERY OK source="sources" db=9.8ms queue=0.1ms idle=12.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)) [] 14:40:32.465 [debug] QUERY OK source="sources" db=12.5ms idle=19.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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:40:32.467 [info] Sent 200 in 40ms 14:40:32.600 [info] CONNECTED TO Phoenix.LiveView.Socket in 36µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dUdRFA8VXRMdCBdUASldPCAPEyk6NCEsM65sLlmvJdVlqahWrVvLbSMn", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:40:32.632 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 14:40:32.652 [debug] QUERY OK source="sources" db=19.7ms idle=196.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)) [] 14:40:32.664 [debug] QUERY OK source="sources" db=11.4ms idle=213.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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:40:32.664 [debug] Replied in 32ms 14:40:32.667 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:40:32.667 [debug] Replied in 175µs 14:40:32.799 [info] {"source":"oban","duration":3561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:35.154 [info] GET /sources/1 14:40:35.154 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:40:35.158 [debug] QUERY OK source="sources" db=3.7ms idle=1127.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:40:35.162 [debug] QUERY OK source="media_profiles" db=3.0ms queue=0.1ms idle=1131.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:40:35.167 [debug] QUERY OK source="tasks" db=4.4ms queue=0.1ms idle=1135.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:40:35.170 [debug] QUERY OK source="settings" db=2.5ms idle=1140.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:35.173 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=957.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:35.176 [debug] QUERY OK source="settings" db=2.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 [] 14:40:35.180 [debug] QUERY OK source="sources" db=2.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:40:35.183 [debug] QUERY OK source="media_items" db=2.8ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:40:35.194 [debug] QUERY OK source="media_items" db=10.5ms idle=13.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:40:35.198 [debug] QUERY OK source="sources" db=2.3ms idle=23.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:40:35.201 [debug] QUERY OK source="media_items" db=2.1ms idle=22.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:40:35.204 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=21.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] 14:40:35.207 [debug] QUERY OK source="sources" db=2.6ms 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] 14:40:35.210 [debug] QUERY OK source="media_items" db=2.5ms idle=13.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 14:40:35.214 [debug] QUERY OK source="media_items" db=3.7ms idle=12.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:40:35.217 [info] Sent 200 in 62ms 14:40:35.324 [info] CONNECTED TO Phoenix.LiveView.Socket in 38µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XQc9MSo4c1xgXTNBJAECXSAKCR00KQ9zevYViAC971ryTI76rSlxlNc1", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:40:35.364 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "pending", "source_id" => 1} 14:40:35.368 [debug] QUERY OK source="sources" db=3.2ms idle=160.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:40:35.371 [debug] QUERY OK source="media_items" db=2.7ms idle=161.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] 14:40:35.374 [debug] QUERY OK source="media_items" db=2.9ms idle=161.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] 14:40:35.374 [debug] Replied in 10ms 14:40:35.376 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "downloaded", "source_id" => 1} 14:40:35.380 [debug] QUERY OK source="sources" db=3.2ms idle=162.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:40:35.383 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=163.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:40:35.385 [debug] QUERY OK source="media_items" db=2.5ms 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] 14:40:35.386 [debug] Replied in 9ms 14:40:35.387 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "other", "source_id" => 1} 14:40:35.389 [debug] QUERY OK source="sources" db=2.2ms idle=16.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:40:35.393 [debug] QUERY OK source="media_items" db=2.4ms 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 ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:40:35.397 [debug] QUERY OK source="media_items" db=3.4ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_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:40:35.397 [debug] Replied in 9ms 14:40:35.398 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:40:35.398 [debug] Replied in 129µs 14:40:43.989 [info] GET /sources/1/edit 14:40:43.990 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:40:44.001 [debug] QUERY OK source="sources" db=10.3ms idle=962.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:40:44.007 [debug] QUERY OK source="media_profiles" db=5.4ms queue=0.3ms idle=974.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 14:40:44.012 [debug] QUERY OK source="settings" db=3.7ms queue=0.1ms idle=980.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:44.015 [debug] QUERY OK source="settings" db=2.4ms 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:40:44.018 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=765.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:44.023 [info] Sent 200 in 33ms 14:40:44.157 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "QgUBOCtLZFQNNDBbQ3FgMhw1IVA9Kh84zte_h2T1ZXqc39UYNlD5eMsz", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:40:44.178 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:40:44.178 [debug] Replied in 236µs 14:40:44.764 [info] GET /sources/1/edit 14:40:44.764 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:40:44.768 [debug] QUERY OK source="sources" db=3.3ms idle=757.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:40:44.775 [debug] QUERY OK source="media_profiles" db=6.8ms queue=0.1ms idle=756.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 14:40:44.780 [debug] QUERY OK source="settings" db=3.8ms idle=760.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:44.784 [debug] QUERY OK source="settings" db=3.7ms idle=762.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:44.786 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms idle=530.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:44.791 [info] Sent 200 in 26ms 14:41:00.728 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:41:02.804 [info] {"source":"oban","duration":3649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:07.747 [info] POST /sources/1 14:41:07.747 [debug] Processing with PinchflatWeb.Sources.SourceController.update/2 Parameters: %{"_csrf_token" => "QgUBOCtLZFQNNDBbQ3FgMhw1IVA9Kh84zte_h2T1ZXqc39UYNlD5eMsz", "_method" => "patch", "download_cutoff_date_preset" => "", "id" => "1", "source" => %{"cookie_behaviour" => "when_needed", "custom_name" => "Shadow Of Israphel", "download_cutoff_date" => "", "download_media" => "true", "fast_index" => "false", "index_frequency_minutes" => "43200", "max_duration_seconds" => "", "media_profile_id" => "1", "min_duration_seconds" => "", "original_url" => "https://www.youtube.com/playlist?list=PLF60520313D07F366", "output_path_template_override" => "", "retention_period_days" => "", "title_filter_regex" => ""}} Pipelines: [:browser] 14:41:07.751 [debug] QUERY OK source="sources" db=3.2ms idle=1720.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:41:07.804 [debug] QUERY OK source="sources" db=52.1ms idle=1724.4ms UPDATE "sources" SET "download_media" = ?, "index_frequency_minutes" = ?, "updated_at" = ? WHERE "id" = ? [true, 43200, ~U[2025-10-27 18:41:07Z], 1] 14:41:07.817 [debug] QUERY OK source="media_items" db=11.7ms queue=0.8ms idle=1777.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 14:41:07.912 [debug] QUERY OK source="tasks" db=49.6ms queue=0.1ms idle=111.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [6, 1, ~U[2025-10-27 18:41:07Z], ~U[2025-10-27 18:41:07Z]] 14:41:08.046 [debug] QUERY OK source="tasks" db=53.0ms idle=130.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7, 2, ~U[2025-10-27 18:41:07Z], ~U[2025-10-27 18:41:07Z]] 14:41:08.088 [info] {"args":{"id":1},"id":6,"meta":{},"system_time":1761590468088652431,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:41:08.089 [info] {"args":{"id":2},"id":7,"meta":{},"system_time":1761590468088816497,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:41:08.092 [debug] QUERY OK source="media_items" db=2.7ms idle=96.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" = ?) [1] 14:41:08.092 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=42.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" = ?) [2] 14:41:08.094 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:41:08.094 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:41:08.097 [debug] QUERY OK source="sources" db=2.8ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:41:08.098 [debug] QUERY OK source="sources" db=3.4ms queue=0.1ms 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] 14:41:08.100 [debug] QUERY OK source="media_profiles" db=2.1ms queue=0.1ms idle=5.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:41:08.101 [debug] QUERY OK source="media_profiles" db=3.1ms queue=0.1ms idle=5.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:41:08.151 [debug] QUERY OK source="media_items" db=4.3ms queue=46.4ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1] 14:41:08.152 [debug] QUERY OK source="media_items" db=3.8ms queue=1.1ms idle=49.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] 14:41:08.155 [debug] QUERY OK source="media_metadata" db=0.7ms queue=0.1ms idle=7.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [2] 14:41:08.155 [debug] QUERY OK source="media_metadata" db=1.1ms queue=0.2ms idle=53.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [1] 14:41:08.156 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:41:08.156 [debug] QUERY OK source="media_profiles" db=1.0ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:41:08.157 [debug] QUERY OK source="settings" db=0.5ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:08.158 [debug] QUERY OK source="settings" db=0.7ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:08.158 [debug] QUERY OK source="settings" db=0.6ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:08.158 [debug] QUERY OK source="settings" db=0.2ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:08.161 [debug] Running yt-dlp command for action: get_downloadable_status 14:41:08.162 [debug] Running yt-dlp command for action: get_downloadable_status 14:41:08.200 [debug] QUERY OK source="tasks" db=52.0ms queue=0.1ms idle=47.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [8, 3, ~U[2025-10-27 18:41:08Z], ~U[2025-10-27 18:41:08Z]] 14:41:08.218 [debug] QUERY OK source="settings" db=54.8ms 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:41:08.218 [debug] QUERY OK source="settings" db=54.7ms 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:41:08.254 [debug] QUERY OK source="settings" db=34.3ms queue=1.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 [] 14:41:08.254 [debug] QUERY OK source="settings" db=35.7ms idle=18.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:08.256 [debug] QUERY OK source="settings" db=1.3ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:08.256 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=36.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:08.257 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=P8IayadsacU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7c/43/7c4310af92b2a917c49c22b59bb48c49e4d1ca185e6709efd9d5ab279947321d.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:41:08.257 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4UdEFmxRmNE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/47/4c/474ce4f9a7406f2901d52a53bbc95ee2206d853db851620f7b998f35881d8c9c.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:41:08.297 [debug] QUERY OK source="tasks" db=50.1ms queue=0.1ms idle=29.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [9, 4, ~U[2025-10-27 18:41:08Z], ~U[2025-10-27 18:41:08Z]] 14:41:08.423 [debug] QUERY OK source="tasks" db=58.2ms idle=108.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [10, 5, ~U[2025-10-27 18:41:08Z], ~U[2025-10-27 18:41:08Z]] 14:41:08.598 [debug] QUERY OK source="tasks" db=49.7ms idle=184.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [11, 6, ~U[2025-10-27 18:41:08Z], ~U[2025-10-27 18:41:08Z]] 14:41:08.706 [debug] QUERY OK source="tasks" db=60.2ms idle=202.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [12, 7, ~U[2025-10-27 18:41:08Z], ~U[2025-10-27 18:41:08Z]] 14:41:08.823 [debug] QUERY OK source="tasks" db=67.2ms idle=153.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [13, 8, ~U[2025-10-27 18:41:08Z], ~U[2025-10-27 18:41:08Z]] 14:41:08.968 [debug] QUERY OK source="tasks" db=58.2ms idle=198.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [14, 22, ~U[2025-10-27 18:41:08Z], ~U[2025-10-27 18:41:08Z]] 14:41:09.079 [debug] QUERY OK source="tasks" db=55.6ms idle=174.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [15, 23, ~U[2025-10-27 18:41:09Z], ~U[2025-10-27 18:41:09Z]] 14:41:09.273 [debug] QUERY OK source="tasks" db=85.2ms queue=0.1ms idle=214.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [16, 24, ~U[2025-10-27 18:41:09Z], ~U[2025-10-27 18:41:09Z]] 14:41:09.377 [debug] QUERY OK source="tasks" db=51.5ms idle=234.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [17, 25, ~U[2025-10-27 18:41:09Z], ~U[2025-10-27 18:41:09Z]] 14:41:09.501 [debug] QUERY OK source="tasks" db=58.0ms queue=0.1ms idle=117.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [18, 26, ~U[2025-10-27 18:41:09Z], ~U[2025-10-27 18:41:09Z]] 14:41:10.289 [debug] QUERY OK source="tasks" db=431.4ms queue=0.1ms idle=462.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [19, 27, ~U[2025-10-27 18:41:09Z], ~U[2025-10-27 18:41:09Z]] 14:41:10.401 [debug] QUERY OK source="tasks" db=53.1ms queue=0.1ms idle=822.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [20, 28, ~U[2025-10-27 18:41:10Z], ~U[2025-10-27 18:41:10Z]] 14:41:10.502 [debug] QUERY OK source="tasks" db=49.9ms idle=104.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [21, 29, ~U[2025-10-27 18:41:10Z], ~U[2025-10-27 18:41:10Z]] 14:41:10.626 [debug] QUERY OK source="tasks" db=55.5ms queue=0.2ms idle=163.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [22, 30, ~U[2025-10-27 18:41:10Z], ~U[2025-10-27 18:41:10Z]] 14:41:10.724 [debug] QUERY OK source="tasks" db=51.2ms queue=0.1ms idle=165.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [23, 31, ~U[2025-10-27 18:41:10Z], ~U[2025-10-27 18:41:10Z]] 14:41:10.826 [debug] QUERY OK source="tasks" db=49.6ms queue=0.1ms idle=145.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [24, 32, ~U[2025-10-27 18:41:10Z], ~U[2025-10-27 18:41:10Z]] 14:41:10.927 [debug] QUERY OK source="tasks" db=47.6ms idle=149.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [25, 33, ~U[2025-10-27 18:41:10Z], ~U[2025-10-27 18:41:10Z]] 14:41:11.069 [debug] QUERY OK source="tasks" db=70.6ms queue=0.1ms idle=167.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [26, 34, ~U[2025-10-27 18:41:10Z], ~U[2025-10-27 18:41:10Z]] 14:41:11.180 [debug] QUERY OK source="tasks" db=49.7ms idle=198.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [27, 35, ~U[2025-10-27 18:41:11Z], ~U[2025-10-27 18:41:11Z]] 14:41:11.283 [debug] QUERY OK source="tasks" db=49.7ms queue=0.1ms idle=158.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [28, 36, ~U[2025-10-27 18:41:11Z], ~U[2025-10-27 18:41:11Z]] 14:41:11.403 [debug] QUERY OK source="tasks" db=66.5ms idle=152.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [29, 37, ~U[2025-10-27 18:41:11Z], ~U[2025-10-27 18:41:11Z]] 14:41:11.489 [debug] QUERY OK source="tasks" db=41.2ms queue=0.2ms idle=111.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [30, 38, ~U[2025-10-27 18:41:11Z], ~U[2025-10-27 18:41:11Z]] 14:41:11.590 [debug] QUERY OK source="tasks" db=43.5ms idle=137.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [31, 39, ~U[2025-10-27 18:41:11Z], ~U[2025-10-27 18:41:11Z]] 14:41:11.690 [debug] QUERY OK source="tasks" db=49.4ms queue=0.1ms idle=145.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [32, 40, ~U[2025-10-27 18:41:11Z], ~U[2025-10-27 18:41:11Z]] 14:41:11.794 [debug] QUERY OK source="tasks" db=47.3ms idle=151.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [33, 41, ~U[2025-10-27 18:41:11Z], ~U[2025-10-27 18:41:11Z]] 14:41:11.897 [debug] QUERY OK source="tasks" db=49.8ms queue=0.1ms idle=152.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [34, 42, ~U[2025-10-27 18:41:11Z], ~U[2025-10-27 18:41:11Z]] 14:41:12.000 [debug] QUERY OK source="tasks" db=50.0ms queue=0.1ms idle=150.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [35, 43, ~U[2025-10-27 18:41:11Z], ~U[2025-10-27 18:41:11Z]] 14:41:12.121 [debug] QUERY OK source="tasks" db=66.1ms queue=0.1ms idle=152.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [36, 44, ~U[2025-10-27 18:41:12Z], ~U[2025-10-27 18:41:12Z]] 14:41:12.254 [debug] QUERY OK source="tasks" db=58.2ms idle=190.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [37, 45, ~U[2025-10-27 18:41:12Z], ~U[2025-10-27 18:41:12Z]] 14:41:12.359 [debug] QUERY OK source="tasks" db=49.4ms queue=0.1ms idle=183.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [38, 46, ~U[2025-10-27 18:41:12Z], ~U[2025-10-27 18:41:12Z]] 14:41:12.459 [debug] QUERY OK source="tasks" db=49.7ms idle=150.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [39, 47, ~U[2025-10-27 18:41:12Z], ~U[2025-10-27 18:41:12Z]] 14:41:12.560 [debug] QUERY OK source="tasks" db=49.4ms queue=0.1ms idle=100.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [40, 48, ~U[2025-10-27 18:41:12Z], ~U[2025-10-27 18:41:12Z]] 14:41:12.652 [debug] QUERY OK source="tasks" db=42.1ms queue=0.1ms idle=145.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [41, 49, ~U[2025-10-27 18:41:12Z], ~U[2025-10-27 18:41:12Z]] 14:41:12.825 [debug] QUERY OK source="tasks" db=117.8ms queue=0.1ms idle=141.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [42, 50, ~U[2025-10-27 18:41:12Z], ~U[2025-10-27 18:41:12Z]] 14:41:13.015 [debug] QUERY OK source="tasks" db=86.9ms idle=270.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [43, 51, ~U[2025-10-27 18:41:12Z], ~U[2025-10-27 18:41:12Z]] 14:41:13.137 [debug] QUERY OK source="tasks" db=66.3ms queue=0.1ms idle=206.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [44, 52, ~U[2025-10-27 18:41:13Z], ~U[2025-10-27 18:41:13Z]] 14:41:13.287 [debug] QUERY OK source="tasks" db=58.0ms idle=208.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [45, 53, ~U[2025-10-27 18:41:13Z], ~U[2025-10-27 18:41:13Z]] 14:41:13.379 [debug] QUERY OK source="tasks" db=41.5ms queue=0.1ms idle=194.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [46, 54, ~U[2025-10-27 18:41:13Z], ~U[2025-10-27 18:41:13Z]] 14:41:13.488 [debug] QUERY OK source="tasks" db=49.7ms queue=0.1ms idle=100.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [47, 55, ~U[2025-10-27 18:41:13Z], ~U[2025-10-27 18:41:13Z]] 14:41:13.604 [debug] QUERY OK source="tasks" db=53.1ms queue=0.1ms idle=113.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [48, 56, ~U[2025-10-27 18:41:13Z], ~U[2025-10-27 18:41:13Z]] 14:41:13.730 [debug] QUERY OK source="tasks" db=59.7ms queue=0.2ms idle=176.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [49, 57, ~U[2025-10-27 18:41:13Z], ~U[2025-10-27 18:41:13Z]] 14:41:13.835 [debug] QUERY OK source="tasks" db=49.4ms queue=0.1ms idle=168.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [50, 58, ~U[2025-10-27 18:41:13Z], ~U[2025-10-27 18:41:13Z]] 14:41:13.939 [debug] QUERY OK source="tasks" db=49.3ms idle=154.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [51, 59, ~U[2025-10-27 18:41:13Z], ~U[2025-10-27 18:41:13Z]] 14:41:14.040 [debug] QUERY OK source="tasks" db=49.5ms queue=0.1ms idle=149.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [52, 60, ~U[2025-10-27 18:41:13Z], ~U[2025-10-27 18:41:13Z]] 14:41:14.140 [debug] QUERY OK source="tasks" db=49.7ms idle=146.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [53, 61, ~U[2025-10-27 18:41:14Z], ~U[2025-10-27 18:41:14Z]] 14:41:14.266 [debug] QUERY OK source="tasks" db=58.5ms queue=0.1ms idle=162.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [54, 62, ~U[2025-10-27 18:41:14Z], ~U[2025-10-27 18:41:14Z]] 14:41:14.398 [debug] QUERY OK source="tasks" db=56.7ms idle=195.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [55, 63, ~U[2025-10-27 18:41:14Z], ~U[2025-10-27 18:41:14Z]] 14:41:14.483 [debug] QUERY OK source="tasks" db=41.1ms queue=0.1ms idle=100.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [56, 64, ~U[2025-10-27 18:41:14Z], ~U[2025-10-27 18:41:14Z]] 14:41:14.575 [debug] QUERY OK source="tasks" db=41.7ms idle=91.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [57, 65, ~U[2025-10-27 18:41:14Z], ~U[2025-10-27 18:41:14Z]] 14:41:14.667 [debug] QUERY OK source="tasks" db=41.0ms queue=0.2ms idle=137.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [58, 66, ~U[2025-10-27 18:41:14Z], ~U[2025-10-27 18:41:14Z]] 14:41:15.193 [debug] QUERY OK source="tasks" db=121.3ms queue=0.1ms idle=490.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [59, 67, ~U[2025-10-27 18:41:15Z], ~U[2025-10-27 18:41:15Z]] 14:41:15.301 [debug] QUERY OK source="tasks" db=44.6ms queue=0.1ms idle=583.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [60, 68, ~U[2025-10-27 18:41:15Z], ~U[2025-10-27 18:41:15Z]] 14:41:15.444 [debug] QUERY OK source="tasks" db=87.8ms idle=157.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [61, 69, ~U[2025-10-27 18:41:15Z], ~U[2025-10-27 18:41:15Z]] 14:41:15.544 [debug] QUERY OK source="tasks" db=45.4ms queue=0.1ms idle=142.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [62, 70, ~U[2025-10-27 18:41:15Z], ~U[2025-10-27 18:41:15Z]] 14:41:15.644 [debug] QUERY OK source="tasks" db=49.7ms idle=141.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [63, 71, ~U[2025-10-27 18:41:15Z], ~U[2025-10-27 18:41:15Z]] 14:41:15.745 [debug] QUERY OK source="tasks" db=50.0ms queue=0.1ms idle=145.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [64, 72, ~U[2025-10-27 18:41:15Z], ~U[2025-10-27 18:41:15Z]] 14:41:15.854 [debug] QUERY OK source="tasks" db=49.3ms idle=154.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [65, 73, ~U[2025-10-27 18:41:15Z], ~U[2025-10-27 18:41:15Z]] 14:41:15.947 [debug] QUERY OK source="tasks" db=49.1ms queue=0.1ms idle=145.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [66, 74, ~U[2025-10-27 18:41:15Z], ~U[2025-10-27 18:41:15Z]] 14:41:16.047 [debug] QUERY OK source="tasks" db=49.8ms idle=137.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [67, 75, ~U[2025-10-27 18:41:15Z], ~U[2025-10-27 18:41:15Z]] 14:41:16.166 [debug] QUERY OK source="tasks" db=67.9ms queue=0.1ms idle=145.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [68, 76, ~U[2025-10-27 18:41:16Z], ~U[2025-10-27 18:41:16Z]] 14:41:16.265 [debug] QUERY OK source="tasks" db=50.0ms idle=162.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [69, 77, ~U[2025-10-27 18:41:16Z], ~U[2025-10-27 18:41:16Z]] 14:41:16.365 [debug] QUERY OK source="tasks" db=49.4ms queue=0.1ms idle=139.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [70, 78, ~U[2025-10-27 18:41:16Z], ~U[2025-10-27 18:41:16Z]] 14:41:16.466 [debug] QUERY OK source="tasks" db=49.5ms idle=145.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [71, 79, ~U[2025-10-27 18:41:16Z], ~U[2025-10-27 18:41:16Z]] 14:41:16.666 [debug] QUERY OK source="tasks" db=53.5ms idle=197.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [72, 80, ~U[2025-10-27 18:41:16Z], ~U[2025-10-27 18:41:16Z]] 14:41:16.766 [debug] QUERY OK source="tasks" db=49.7ms queue=0.1ms idle=176.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [73, 81, ~U[2025-10-27 18:41:16Z], ~U[2025-10-27 18:41:16Z]] 14:41:16.858 [debug] QUERY OK source="tasks" db=41.5ms queue=0.1ms idle=144.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [74, 82, ~U[2025-10-27 18:41:16Z], ~U[2025-10-27 18:41:16Z]] 14:41:16.984 [debug] QUERY OK source="tasks" db=74.8ms queue=0.1ms idle=136.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [75, 83, ~U[2025-10-27 18:41:16Z], ~U[2025-10-27 18:41:16Z]] 14:41:17.101 [debug] QUERY OK source="tasks" db=66.8ms queue=0.1ms idle=169.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [76, 84, ~U[2025-10-27 18:41:17Z], ~U[2025-10-27 18:41:17Z]] 14:41:17.201 [debug] QUERY OK source="tasks" db=50.0ms idle=161.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [77, 85, ~U[2025-10-27 18:41:17Z], ~U[2025-10-27 18:41:17Z]] 14:41:17.302 [debug] QUERY OK source="tasks" db=49.6ms idle=144.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [78, 86, ~U[2025-10-27 18:41:17Z], ~U[2025-10-27 18:41:17Z]] 14:41:17.428 [debug] QUERY OK source="tasks" db=75.0ms idle=144.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [79, 87, ~U[2025-10-27 18:41:17Z], ~U[2025-10-27 18:41:17Z]] 14:41:17.528 [debug] QUERY OK source="tasks" db=49.5ms queue=0.1ms idle=169.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [80, 88, ~U[2025-10-27 18:41:17Z], ~U[2025-10-27 18:41:17Z]] 14:41:17.652 [debug] QUERY OK source="tasks" db=65.2ms idle=108.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [81, 89, ~U[2025-10-27 18:41:17Z], ~U[2025-10-27 18:41:17Z]] 14:41:17.786 [debug] QUERY OK source="tasks" db=53.8ms idle=189.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [82, 90, ~U[2025-10-27 18:41:17Z], ~U[2025-10-27 18:41:17Z]] 14:41:17.906 [debug] QUERY OK source="tasks" db=64.9ms idle=182.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [83, 91, ~U[2025-10-27 18:41:17Z], ~U[2025-10-27 18:41:17Z]] 14:41:18.012 [debug] QUERY OK source="tasks" db=49.5ms idle=168.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [84, 92, ~U[2025-10-27 18:41:17Z], ~U[2025-10-27 18:41:17Z]] 14:41:18.112 [debug] QUERY OK source="tasks" db=49.2ms idle=149.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [85, 93, ~U[2025-10-27 18:41:18Z], ~U[2025-10-27 18:41:18Z]] 14:41:18.213 [debug] QUERY OK source="tasks" db=49.6ms queue=0.1ms idle=144.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [86, 94, ~U[2025-10-27 18:41:18Z], ~U[2025-10-27 18:41:18Z]] 14:41:18.313 [debug] QUERY OK source="tasks" db=49.8ms idle=143.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [87, 95, ~U[2025-10-27 18:41:18Z], ~U[2025-10-27 18:41:18Z]] 14:41:18.414 [debug] QUERY OK source="tasks" db=49.7ms queue=0.1ms idle=144.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [88, 96, ~U[2025-10-27 18:41:18Z], ~U[2025-10-27 18:41:18Z]] 14:41:18.514 [debug] QUERY OK source="tasks" db=49.9ms queue=0.1ms idle=143.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [89, 97, ~U[2025-10-27 18:41:18Z], ~U[2025-10-27 18:41:18Z]] 14:41:18.639 [debug] QUERY OK source="tasks" db=53.2ms idle=122.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [90, 98, ~U[2025-10-27 18:41:18Z], ~U[2025-10-27 18:41:18Z]] 14:41:18.739 [debug] QUERY OK source="tasks" db=50.0ms idle=103.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [91, 99, ~U[2025-10-27 18:41:18Z], ~U[2025-10-27 18:41:18Z]] 14:41:18.890 [debug] QUERY OK source="tasks" db=59.4ms queue=0.1ms idle=183.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [92, 100, ~U[2025-10-27 18:41:18Z], ~U[2025-10-27 18:41:18Z]] 14:41:18.894 [debug] QUERY OK source="tasks" db=3.7ms queue=0.1ms idle=201.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."worker" LIKE ?) AND (o1."state" IN (?,?,?,?)) [1, "%.MediaCollectionIndexingWorker", "available", "scheduled", "retryable", "executing"] 14:41:18.990 [debug] QUERY OK source="tasks" db=49.5ms idle=110.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [93, 1, ~U[2025-10-27 18:41:18Z], ~U[2025-10-27 18:41:18Z]] 14:41:18.991 [info] Sent 302 in 11243ms 14:41:19.007 [info] GET /sources/1 14:41:19.008 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:41:19.011 [debug] QUERY OK source="sources" db=3.1ms queue=0.1ms idle=118.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:41:19.015 [debug] QUERY OK source="media_profiles" db=2.8ms idle=117.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:41:19.020 [debug] QUERY OK source="tasks" db=4.7ms idle=116.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 14:41:19.024 [debug] QUERY OK source="oban_jobs" db=3.0ms queue=0.2ms idle=79.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" = ?) [93] 14:41:19.027 [debug] QUERY OK source="settings" db=2.5ms 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 [] 14:41:19.029 [debug] QUERY OK source="settings" db=2.5ms idle=15.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:19.033 [debug] QUERY OK source="settings" db=2.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 [] 14:41:19.037 [debug] QUERY OK source="sources" db=2.8ms idle=14.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:41:19.047 [debug] QUERY OK source="media_items" db=9.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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:41:19.059 [debug] QUERY OK source="media_items" db=11.6ms queue=0.1ms idle=21.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] 14:41:19.064 [debug] QUERY OK source="sources" db=2.3ms idle=32.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:41:19.067 [debug] QUERY OK source="media_items" db=2.8ms idle=31.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:41:19.078 [debug] QUERY OK source="media_items" db=10.5ms idle=30.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:41:19.081 [debug] QUERY OK source="sources" db=2.3ms idle=31.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:41:19.084 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=22.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:41:19.096 [debug] QUERY OK source="media_items" db=11.3ms idle=20.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] 14:41:19.098 [info] Sent 200 in 90ms 14:41:19.348 [info] CONNECTED TO Phoenix.LiveView.Socket in 35µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Qh4FDikxQjcxDhcLKillLjE2USxoBAJ2zoaijHrRfbV3ZaPEco4I0cn4", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:41:19.363 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "pending", "source_id" => 1} 14:41:19.367 [debug] QUERY OK source="sources" db=3.7ms idle=296.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:41:19.371 [debug] QUERY OK source="media_items" db=3.2ms idle=289.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] 14:41:19.375 [debug] QUERY OK source="media_items" db=3.2ms idle=290.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:41:19.375 [debug] Replied in 11ms 14:41:19.377 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "downloaded", "source_id" => 1} 14:41:19.381 [debug] QUERY OK source="sources" db=3.5ms idle=292.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:41:19.384 [debug] QUERY OK source="media_items" db=2.8ms idle=284.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:41:19.394 [debug] QUERY OK source="media_items" db=10.1ms queue=0.1ms idle=16.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] 14:41:19.395 [debug] Replied in 17ms 14:41:19.396 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "other", "source_id" => 1} 14:41:19.399 [debug] QUERY OK source="sources" db=2.4ms queue=0.3ms idle=25.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:41:19.404 [debug] QUERY OK source="media_items" db=4.2ms idle=25.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:41:19.408 [debug] QUERY OK source="media_items" db=3.0ms idle=23.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] 14:41:19.408 [debug] Replied in 11ms 14:41:19.409 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:41:19.409 [debug] Replied in 95µs 14:41:32.810 [info] {"source":"oban","duration":5138,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:00.729 [info] {"source":"oban","duration":251,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:42:02.814 [info] {"source":"oban","duration":3355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:12.523 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4UdEFmxRmNE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/47/4c/474ce4f9a7406f2901d52a53bbc95ee2206d853db851620f7b998f35881d8c9c.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] 4UdEFmxRmNE: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 4UdEFmxRmNE: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 4UdEFmxRmNE: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 14:42:12.523 [debug] Running yt-dlp command for action: download 14:42:12.527 [debug] QUERY OK source="settings" db=3.8ms idle=668.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:12.529 [debug] QUERY OK source="settings" db=1.9ms idle=500.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:12.532 [debug] QUERY OK source="settings" db=2.4ms idle=502.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:12.533 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4UdEFmxRmNE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e01 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e01 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/26/5d/265dc024a972f1a55e3e160fff72d078677e2114f2281472e4f3e5fc91da3d46.json --sleep-requests 14 --sleep-interval 15 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:42:25.472 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=P8IayadsacU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7c/43/7c4310af92b2a917c49c22b59bb48c49e4d1ca185e6709efd9d5ab279947321d.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] P8IayadsacU: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] P8IayadsacU: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] P8IayadsacU: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 14:42:25.472 [debug] Running yt-dlp command for action: download 14:42:25.476 [debug] QUERY OK source="settings" db=3.3ms idle=1445.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:25.479 [debug] QUERY OK source="settings" db=2.6ms idle=1448.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:25.481 [debug] QUERY OK source="settings" db=2.3ms idle=1451.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:25.482 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=P8IayadsacU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e02 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e02 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d8/e2/d8e24fc3a8b49994e6c1f7e45c7954a78136b354fd5b9bbf5fdeccb09f681ccf.json --sleep-requests 14 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:42:32.819 [info] {"source":"oban","duration":3588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:00.730 [info] {"source":"oban","duration":276,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:43:02.823 [info] {"source":"oban","duration":3651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:32.827 [info] {"source":"oban","duration":3699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:35.335 [debug] HANDLE EVENT "reload_page" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"value" => ""} 14:43:35.335 [debug] Replied in 219µs 14:43:35.338 [debug] QUERY OK source="media_items" db=2.4ms idle=1307.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:43:35.338 [debug] QUERY OK source="media_items" db=2.5ms idle=1308.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:43:35.339 [debug] QUERY OK source="media_items" db=4.0ms queue=0.1ms idle=1307.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:43:35.340 [debug] QUERY OK source="media_items" db=2.1ms idle=93.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 14:43:35.342 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=1098.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:43:35.342 [debug] QUERY OK source="media_items" db=2.9ms idle=1.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 14:44:00.731 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:44:02.832 [info] {"source":"oban","duration":3660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:32.836 [info] {"source":"oban","duration":3549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:54.060 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=P8IayadsacU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e02 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e02 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d8/e2/d8e24fc3a8b49994e6c1f7e45c7954a78136b354fd5b9bbf5fdeccb09f681ccf.json --sleep-requests 14 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: WARNING: [youtube] P8IayadsacU: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] P8IayadsacU: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] P8IayadsacU: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details ERROR: Did not get any data blocks 14:44:54.060 [error] yt-dlp download error for media item #2: "WARNING: [youtube] P8IayadsacU: Signature extraction failed: Some formats may be missing\n player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js\n 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\nWARNING: [youtube] P8IayadsacU: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details\nWARNING: [youtube] P8IayadsacU: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details\n\n\nERROR: Did not get any data blocks\n" 14:44:54.160 [debug] QUERY OK source="media_items" db=99.6ms idle=1019.3ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["WARNING: [youtube] P8IayadsacU: Signature extraction failed: Some formats may be missing\n player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js\n 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\nWARNING: [youtube] P8IayadsacU: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details\nWARNING: [youtube] P8IayadsacU: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details\n\n\nERROR: Did not get any data blocks\n", ~U[2025-10-27 18:44:54Z], 2] 14:44:54.210 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":2},"id":7,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":226072565,"event":"job:exception","queue_time":868325,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:44:54.287 [info] {"args":{"id":3},"id":8,"meta":{},"system_time":1761590694286549953,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:44:54.291 [debug] QUERY OK source="media_items" db=3.5ms idle=245.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3] 14:44:54.292 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:44:54.297 [debug] QUERY OK source="sources" db=4.4ms queue=0.2ms idle=250.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:44:54.303 [debug] QUERY OK source="media_profiles" db=5.9ms queue=0.1ms idle=136.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:44:54.315 [debug] QUERY OK source="media_items" db=11.0ms queue=0.1ms idle=93.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 [3] 14:44:54.324 [debug] QUERY OK source="media_metadata" db=6.2ms idle=31.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3] 14:44:54.331 [debug] QUERY OK source="media_profiles" db=6.4ms 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] 14:44:54.341 [debug] QUERY OK source="settings" db=9.7ms queue=0.1ms idle=34.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:44:54.347 [debug] QUERY OK source="settings" db=5.1ms queue=0.1ms 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:44:54.350 [debug] Running yt-dlp command for action: get_downloadable_status 14:44:54.356 [debug] QUERY OK source="settings" db=2.0ms idle=38.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:44:54.359 [debug] QUERY OK source="settings" db=2.8ms 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:44:54.363 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms 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 [] 14:44:54.363 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mhSXfGUB_CI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4c/5c/4c5c53f195995a8f5be530efe0c5e6ca93d3204accc71475a9c5e2651fa30ea1.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:44:59.104 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4UdEFmxRmNE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e01 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e01 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/26/5d/265dc024a972f1a55e3e160fff72d078677e2114f2281472e4f3e5fc91da3d46.json --sleep-requests 14 --sleep-interval 15 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 4UdEFmxRmNE: nsig extraction failed: Some formats may be missing n = 9c5dnaGKvq2juHj8 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 4UdEFmxRmNE: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 4UdEFmxRmNE: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 14:44:59.293 [debug] Running yt-dlp command for action: download_thumbnail 14:44:59.297 [debug] QUERY OK source="settings" db=2.8ms idle=1253.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:44:59.300 [debug] QUERY OK source="settings" db=2.3ms idle=1256.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:44:59.303 [debug] QUERY OK source="settings" db=2.4ms idle=1259.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:44:59.303 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4UdEFmxRmNE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/1/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/9a/c5/9ac56e7b3b2b9754aea94b4a3b6d4b1e78dafd5a69c8f22ba1aa3a846067a972.json --sleep-requests 14 --sleep-interval 11 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:45:00.734 [info] {"source":"oban","duration":1583,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:45:02.841 [info] {"source":"oban","duration":4283,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:32.846 [info] {"source":"oban","duration":4100,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:00.735 [info] {"source":"oban","duration":293,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:46:02.851 [info] {"source":"oban","duration":3586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:07.227 [debug] HANDLE EVENT "reload_page" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"value" => ""} 14:46:07.227 [debug] Replied in 212µs 14:46:07.233 [debug] QUERY OK source="media_items" db=5.3ms queue=0.1ms idle=1186.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:46:07.240 [debug] QUERY OK source="media_items" db=12.5ms idle=1186.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:46:07.241 [debug] QUERY OK source="media_items" db=13.2ms queue=0.1ms idle=1186.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:46:07.241 [debug] QUERY OK source="media_items" db=7.2ms idle=1192.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:46:07.252 [debug] QUERY OK source="media_items" db=11.0ms queue=0.2ms idle=873.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:46:07.252 [debug] QUERY OK source="media_items" db=10.9ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:46:08.484 [debug] HANDLE EVENT "reload_page" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"value" => ""} 14:46:08.484 [debug] Replied in 217µs 14:46:08.488 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=1232.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:46:08.488 [debug] QUERY OK source="media_items" db=4.0ms idle=1232.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:46:08.489 [debug] QUERY OK source="media_items" db=5.1ms queue=0.1ms idle=1243.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:46:08.492 [debug] QUERY OK source="media_items" db=2.7ms idle=1.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 14:46:08.493 [debug] QUERY OK source="media_items" db=4.5ms queue=0.1ms idle=1116.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] 14:46:08.493 [debug] QUERY OK source="media_items" db=4.6ms idle=112.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:46:11.457 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mhSXfGUB_CI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4c/5c/4c5c53f195995a8f5be530efe0c5e6ca93d3204accc71475a9c5e2651fa30ea1.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] mhSXfGUB_CI: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] mhSXfGUB_CI: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] mhSXfGUB_CI: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 14:46:11.457 [debug] Running yt-dlp command for action: download 14:46:11.461 [debug] QUERY OK source="settings" db=3.3ms queue=0.1ms idle=1416.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:46:11.464 [debug] QUERY OK source="settings" db=2.7ms idle=1420.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:46:11.468 [debug] QUERY OK source="settings" db=3.3ms idle=1423.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:46:11.468 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mhSXfGUB_CI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e03 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e03 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/59/ee/59eebf703dbcabb1ac4b545622064ba8d49ee8978d745b3560d69a1d7b01c5dc.json --sleep-requests 15 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:46:31.341 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4UdEFmxRmNE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/1/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/9a/c5/9ac56e7b3b2b9754aea94b4a3b6d4b1e78dafd5a69c8f22ba1aa3a846067a972.json --sleep-requests 14 --sleep-interval 11 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 4UdEFmxRmNE: nsig extraction failed: Some formats may be missing n = WujshMO0pLYJLT7W ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 4UdEFmxRmNE: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 4UdEFmxRmNE: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 14:46:31.342 [debug] QUERY OK db=0.0ms idle=1300.5ms begin [] 14:46:31.367 [debug] QUERY OK source="media_items" db=24.6ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [[["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e01 - Minecraft_-_Part_1_-_How_to_Survive_the_First_Night.en.srt"]], ~U[2025-10-27 18:44:59Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e01 - Minecraft_-_Part_1_-_How_to_Survive_the_First_Night.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e01 - Minecraft_-_Part_1_-_How_to_Survive_the_First_Night.nfo", "/downloads/series/Shadow Of Israphel/Season 1/s01e01 - Minecraft_-_Part_1_-_How_to_Survive_the_First_Night.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e01 - Minecraft_-_Part_1_-_How_to_Survive_the_First_Night-thumb.jpg", ~U[2025-10-27 18:46:31Z], 1] 14:46:31.371 [debug] QUERY OK source="media_metadata" db=3.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/1/metadata.json.gz", "/config/metadata/media_items/1/thumbnail.jpg", 1, ~U[2025-10-27 18:46:31Z], ~U[2025-10-27 18:46:31Z]] 14:46:31.431 [debug] QUERY OK db=60.1ms commit [] 14:46:31.499 [debug] QUERY OK source="media_items" db=65.6ms idle=948.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [130966507, ~U[2025-10-27 18:46:31Z], 1] 14:46:31.500 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:46:31.552 [info] {"args":{"id":1},"id":6,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":323412280,"event":"job:stop","queue_time":868325,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:46:31.601 [info] {"args":{"id":4},"id":9,"meta":{},"system_time":1761590791601391275,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:46:31.605 [debug] QUERY OK source="media_items" db=3.1ms idle=169.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" = ?) [4] 14:46:31.605 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:46:31.608 [debug] QUERY OK source="sources" db=2.5ms idle=106.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:46:31.611 [debug] QUERY OK source="media_profiles" db=2.8ms idle=100.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:46:31.615 [debug] QUERY OK source="media_items" db=3.8ms 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 [4] 14:46:31.619 [debug] QUERY OK source="media_metadata" db=2.4ms idle=15.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4] 14:46:31.622 [debug] QUERY OK source="media_profiles" db=2.5ms idle=14.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:46:31.625 [debug] QUERY OK source="settings" db=2.6ms 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 [] 14:46:31.628 [debug] QUERY OK source="settings" db=2.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 [] 14:46:31.629 [debug] Running yt-dlp command for action: get_downloadable_status 14:46:31.632 [debug] QUERY OK source="settings" db=2.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 [] 14:46:31.635 [debug] QUERY OK source="settings" db=2.9ms 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 [] 14:46:31.639 [debug] QUERY OK source="settings" db=2.9ms idle=13.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:46:31.639 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=sFOlXExhvhk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/e9/9ee9f71332a1af36c8fe110c80a39aefbddd4642d14d9b9351feafc490a04896.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:46:32.864 [info] {"source":"oban","duration":12461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:00.736 [info] {"source":"oban","duration":299,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:47:02.873 [info] {"source":"oban","duration":8402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:30.597 [info] GET /sources/1/edit 14:47:30.597 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:47:30.601 [debug] QUERY OK source="sources" db=3.0ms queue=0.3ms idle=1556.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:47:30.604 [debug] QUERY OK source="media_profiles" db=2.7ms idle=802.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 14:47:30.607 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=563.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:47:30.610 [debug] QUERY OK source="settings" db=2.4ms 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 [] 14:47:30.614 [debug] QUERY OK source="settings" db=2.6ms idle=569.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:47:30.618 [info] Sent 200 in 20ms 14:47:30.748 [info] CONNECTED TO Phoenix.LiveView.Socket in 33µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "YAs9IiorR1MeGTBPIy5eHmdrHRYSHSgLXzYEiRw6IuqwSfku52xsJzDI", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:47:30.766 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:47:30.766 [debug] Replied in 180µs 14:47:32.879 [info] {"source":"oban","duration":4750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:44.032 [info] GET /sources 14:47:44.032 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 14:47:44.035 [debug] QUERY OK source="settings" db=2.7ms queue=0.2ms idle=1991.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:47:44.038 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=1994.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:47:44.041 [debug] QUERY OK source="settings" db=2.7ms idle=1997.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:47:44.044 [debug] QUERY OK source="settings" db=2.2ms idle=168.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:47:44.047 [debug] QUERY OK source="settings" db=2.4ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:47:44.059 [debug] QUERY OK source="sources" db=11.5ms idle=9.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:47:44.072 [debug] QUERY OK source="sources" db=11.7ms queue=0.1ms 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", 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:47:44.074 [info] Sent 200 in 42ms 14:47:44.138 [info] CONNECTED TO Phoenix.LiveView.Socket in 42µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "CT5SDG4sYiwnACp5XTp7LxFvMxRqLwEG1O6k-URIplkA-rNDC6Vq2HmD", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:47:44.147 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 14:47:44.159 [debug] QUERY OK source="sources" db=11.9ms idle=105.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)) [] 14:47:44.172 [debug] QUERY OK source="sources" db=11.8ms queue=0.1ms idle=115.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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:47:44.172 [debug] Replied in 25ms 14:47:44.174 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:47:44.174 [debug] Replied in 142µs 14:47:45.799 [info] GET /media_profiles/1 14:47:45.799 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:47:45.802 [debug] QUERY OK source="media_profiles" db=2.7ms idle=1740.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:47:45.806 [debug] QUERY OK source="sources" db=2.9ms idle=1731.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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:47:45.809 [debug] QUERY OK source="settings" db=2.7ms idle=1647.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:47:45.811 [debug] QUERY OK source="settings" db=1.9ms idle=1637.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:47:45.814 [debug] QUERY OK source="settings" db=1.9ms idle=933.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:47:45.816 [info] Sent 200 in 16ms 14:47:45.885 [info] CONNECTED TO Phoenix.LiveView.Socket in 43µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ACINUi0fYy9iNBJdCD5HXCc8DhwXAV0s8Si5nfSJ5XSexvr7uekyOf1n", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:47:45.896 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:47:45.896 [debug] Replied in 136µs 14:47:48.160 [info] GET /media_profiles/1/edit 14:47:48.161 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:47:48.164 [debug] QUERY OK source="media_profiles" db=2.8ms idle=1119.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:47:48.167 [debug] QUERY OK source="settings" db=2.5ms idle=1122.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:47:48.169 [debug] QUERY OK source="settings" db=2.0ms idle=1125.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:47:48.173 [debug] QUERY OK source="settings" db=3.7ms idle=1128.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:47:48.176 [info] Sent 200 in 15ms 14:47:48.269 [info] CONNECTED TO Phoenix.LiveView.Socket in 42µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "SQRXOHBUdlQ8IQ55Hi4HKjc2KhRrLCIFqu3_3-F1kMOAnf2AeoOq3KNG", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:47:48.298 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:47:48.298 [debug] Replied in 143µs 14:47:59.597 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "unlock-pro-textbox" => "g"} 14:47:59.597 [debug] Replied in 160µs 14:47:59.678 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "unlock-pro-textbox" => "go"} 14:47:59.678 [debug] Replied in 176µs 14:47:59.798 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "unlock-pro-textbox" => "got"} 14:47:59.798 [debug] Replied in 214µs 14:48:00.064 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "unlock-pro-textbox" => "got "} 14:48:00.064 [debug] Replied in 205µs 14:48:00.246 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "unlock-pro-textbox" => "got i"} 14:48:00.246 [debug] Replied in 189µs 14:48:00.310 [debug] HANDLE EVENT "check_matching_text" in Pinchflat.UpgradeButtonLive Parameters: %{"_target" => ["unlock-pro-textbox"], "unlock-pro-textbox" => "got it"} 14:48:00.313 [debug] QUERY OK source="settings" db=2.9ms idle=356.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:00.364 [debug] QUERY OK source="settings" db=50.8ms idle=272.3ms UPDATE "settings" SET "pro_enabled" = ? WHERE "id" = ? [true, 1] 14:48:00.364 [debug] Replied in 54ms 14:48:00.737 [info] {"source":"oban","duration":275,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:48:01.480 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=sFOlXExhvhk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/e9/9ee9f71332a1af36c8fe110c80a39aefbddd4642d14d9b9351feafc490a04896.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] sFOlXExhvhk: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] sFOlXExhvhk: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] sFOlXExhvhk: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 14:48:01.481 [debug] Running yt-dlp command for action: download 14:48:01.485 [debug] QUERY OK source="settings" db=4.1ms idle=1439.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:01.488 [debug] QUERY OK source="settings" db=2.5ms idle=1172.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:01.496 [debug] QUERY OK source="settings" db=7.9ms idle=1123.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:01.497 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=sFOlXExhvhk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e04 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e04 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c1/f2/c1f28f39ef1254ec6b99804941f3ccda12b9ce012c39a1d7cdb8bd54220cea27.json --sleep-requests 15 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:48:02.889 [info] {"source":"oban","duration":4585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:04.714 [info] POST /media_profiles/1 14:48:04.715 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.update/2 Parameters: %{"_csrf_token" => "SQRXOHBUdlQ8IQ55Hi4HKjc2KhRrLCIFqu3_3-F1kMOAnf2AeoOq3KNG", "_method" => "patch", "id" => "1", "media_profile" => %{"audio_track" => "", "download_auto_subs" => "true", "download_metadata" => "false", "download_nfo" => "false", "download_source_images" => "true", "download_subs" => "true", "download_thumbnail" => "false", "embed_metadata" => "true", "embed_subs" => "true", "embed_thumbnail" => "true", "livestream_behaviour" => "exclude", "media_container" => "", "name" => "YouTube Series (With Ep Nums)", "output_path_template" => "/series/{{ source_custom_name }}/{{ static_season__episode_by_index }} - {{ title }}.{{ ext }}", "preferred_resolution" => "1080p", "redownload_delay_days" => "1", "shorts_behaviour" => "exclude", "sponsorblock_behaviour" => "mark", "sponsorblock_categories" => ["sponsor", "intro", "outro", "selfpromo", "interaction"], "sub_langs" => "en"}, "media_profile_preset" => ""} Pipelines: [:browser] 14:48:04.718 [debug] QUERY OK source="media_profiles" db=3.3ms idle=1673.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:48:04.772 [debug] QUERY OK source="media_profiles" db=53.0ms idle=1677.7ms UPDATE "media_profiles" SET "download_thumbnail" = ?, "download_nfo" = ?, "updated_at" = ? WHERE "id" = ? [false, false, ~U[2025-10-27 18:48:04Z], 1] 14:48:04.772 [info] Sent 302 in 58ms 14:48:04.789 [info] GET /media_profiles/1 14:48:04.790 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:48:04.794 [debug] QUERY OK source="media_profiles" db=3.3ms queue=0.1ms idle=816.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:48:04.797 [debug] QUERY OK source="sources" db=3.0ms queue=0.1ms idle=752.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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:48:04.800 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=756.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:04.803 [debug] QUERY OK source="settings" db=2.4ms idle=81.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:04.805 [debug] QUERY OK source="settings" db=2.1ms idle=31.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:04.807 [info] Sent 200 in 17ms 14:48:06.539 [info] GET /media_profiles 14:48:06.540 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 14:48:06.544 [debug] QUERY OK source="media_profiles" db=4.0ms idle=555.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:48:06.547 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=503.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:06.550 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=506.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:06.554 [debug] QUERY OK source="settings" db=2.5ms idle=509.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:06.555 [info] Sent 200 in 15ms 14:48:07.526 [info] GET /sources 14:48:07.526 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 14:48:07.530 [debug] QUERY OK source="settings" db=3.4ms idle=982.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:07.533 [debug] QUERY OK source="settings" db=2.5ms idle=983.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:07.536 [debug] QUERY OK source="settings" db=2.4ms idle=983.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:07.539 [debug] QUERY OK source="settings" db=2.1ms idle=983.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:07.543 [debug] QUERY OK source="settings" db=3.1ms idle=550.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:07.556 [debug] QUERY OK source="sources" db=12.3ms queue=0.1ms idle=13.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:48:07.571 [debug] QUERY OK source="sources" db=13.3ms queue=0.2ms idle=23.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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:48:07.573 [info] Sent 200 in 46ms 14:48:07.717 [info] CONNECTED TO Phoenix.LiveView.Socket in 39µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "CwsQMTUOaA4EK3RtOgoHLhAqOik9BgEY3ztVvwXkSG5UJB2EBs_LeamZ", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:48:07.734 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 14:48:07.747 [debug] QUERY OK source="sources" db=12.0ms queue=0.1ms idle=198.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)) [] 14:48:07.760 [debug] QUERY OK source="sources" db=12.4ms idle=207.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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:48:07.760 [debug] Replied in 26ms 14:48:08.841 [info] GET / 14:48:08.841 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:48:08.845 [debug] QUERY OK source="settings" db=2.8ms idle=1285.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:08.847 [debug] QUERY OK source="media_profiles" db=2.3ms idle=1274.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:48:08.850 [debug] QUERY OK source="sources" db=2.5ms idle=1100.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:48:08.853 [debug] QUERY OK source="media_items" db=2.4ms idle=1090.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:48:08.857 [debug] QUERY OK source="media_items" db=3.3ms idle=859.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:48:08.860 [debug] QUERY OK source="settings" db=3.0ms idle=12.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:08.863 [debug] QUERY OK source="settings" db=2.6ms 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 [] 14:48:08.866 [debug] QUERY OK source="settings" db=2.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:48:08.872 [debug] QUERY OK source="tasks" db=4.3ms 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:48:08.876 [debug] QUERY OK source="media_items" db=3.7ms idle=15.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3, 4] 14:48:08.880 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=17.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:48:08.883 [debug] QUERY OK source="media_items" db=2.8ms idle=17.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:48:08.886 [debug] QUERY OK source="sources" db=2.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:48:08.890 [debug] QUERY OK source="media_items" db=2.7ms idle=15.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:48:08.895 [debug] QUERY OK source="media_items" db=4.3ms 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] 14:48:08.898 [debug] QUERY OK source="sources" db=2.3ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:48:08.900 [info] Sent 200 in 58ms 14:48:08.972 [info] CONNECTED TO Phoenix.LiveView.Socket in 79µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "FSZQAw8AdTM9WBQNPBllLyExDSgcDg0D-W4dLyEVj4U5LQPDshhMDiaA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:48:08.994 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "downloaded"} 14:48:08.997 [debug] QUERY OK source="media_items" db=2.9ms idle=110.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:48:08.998 [debug] QUERY OK source="media_items" db=0.9ms idle=107.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] 14:48:08.999 [debug] QUERY OK source="sources" db=0.9ms idle=103.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:48:09.000 [debug] Replied in 6ms 14:48:09.002 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "pending"} 14:48:09.005 [debug] QUERY OK source="media_items" db=2.7ms idle=104.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:48:09.008 [debug] QUERY OK source="media_items" db=2.9ms idle=7.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:48:09.011 [debug] QUERY OK source="sources" db=2.1ms queue=0.1ms idle=10.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:48:09.011 [debug] Replied in 9ms 14:48:09.013 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 14:48:09.018 [debug] QUERY OK source="tasks" db=4.0ms 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"] 14:48:09.021 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=18.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3, 4] 14:48:09.021 [debug] Replied in 7ms 14:48:18.999 [debug] HANDLE EVENT "reload_page" in Pinchflat.Pages.HistoryTableLive Parameters: %{"value" => ""} 14:48:19.002 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=957.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:48:19.005 [debug] QUERY OK source="media_items" db=2.7ms idle=960.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:48:19.008 [debug] QUERY OK source="sources" db=2.4ms idle=964.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:48:19.008 [debug] Replied in 9ms 14:48:32.898 [info] {"source":"oban","duration":6949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:47.970 [info] GET /media_profiles 14:48:47.971 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 14:48:47.975 [debug] QUERY OK source="media_profiles" db=4.0ms idle=1930.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:48:47.978 [debug] QUERY OK source="settings" db=2.7ms idle=1934.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:47.981 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=1937.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:47.984 [debug] QUERY OK source="settings" db=2.5ms idle=1793.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:47.986 [info] Sent 200 in 16ms 14:48:49.489 [info] GET /media_profiles/1 14:48:49.489 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:48:49.493 [debug] QUERY OK source="media_profiles" db=2.8ms queue=0.1ms idle=448.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:48:49.496 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms idle=451.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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:48:49.499 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=455.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:49.502 [debug] QUERY OK source="settings" db=2.3ms idle=457.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:49.508 [debug] QUERY OK source="settings" db=5.3ms 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:48:49.510 [info] Sent 200 in 20ms 14:48:51.334 [info] GET /media_profiles/1/edit 14:48:51.334 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:48:51.337 [debug] QUERY OK source="media_profiles" db=2.3ms idle=293.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:48:51.340 [debug] QUERY OK source="settings" db=2.1ms idle=296.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:51.342 [debug] QUERY OK source="settings" db=2.0ms idle=298.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:51.345 [debug] QUERY OK source="settings" db=2.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:48:51.347 [info] Sent 200 in 13ms 14:49:00.738 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:49:02.903 [info] {"source":"oban","duration":4511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:02.970 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mhSXfGUB_CI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e03 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e03 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/59/ee/59eebf703dbcabb1ac4b545622064ba8d49ee8978d745b3560d69a1d7b01c5dc.json --sleep-requests 15 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] mhSXfGUB_CI: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] mhSXfGUB_CI: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] mhSXfGUB_CI: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 14:49:03.119 [debug] Running yt-dlp command for action: download_thumbnail 14:49:03.122 [debug] QUERY OK source="settings" db=2.5ms idle=1077.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:49:03.125 [debug] QUERY OK source="settings" db=2.3ms idle=763.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:49:03.128 [debug] QUERY OK source="settings" db=2.7ms idle=221.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:49:03.129 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mhSXfGUB_CI --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/40/06/4006031ca08cb13dd60085b5ca9418830c447453c8650e0cc3392a274cdca1f3.json --sleep-requests 12 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:49:11.978 [info] POST /media_profiles/1 14:49:11.979 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.update/2 Parameters: %{"_csrf_token" => "VzYqDhE_ejEbFTRBHQZgJgccFgkLD1oDoGNiRFJTLyuymNUMUEslSh6A", "_method" => "patch", "id" => "1", "media_profile" => %{"audio_track" => "", "download_auto_subs" => "true", "download_metadata" => "false", "download_nfo" => "false", "download_source_images" => "true", "download_subs" => "false", "download_thumbnail" => "true", "embed_metadata" => "true", "embed_subs" => "true", "embed_thumbnail" => "true", "livestream_behaviour" => "exclude", "media_container" => "", "name" => "YouTube Series (With Ep Nums)", "output_path_template" => "/series/{{ source_custom_name }}/{{ static_season__episode_by_index }} - {{ title }}.{{ ext }}", "preferred_resolution" => "1080p", "redownload_delay_days" => "1", "shorts_behaviour" => "exclude", "sponsorblock_behaviour" => "mark", "sponsorblock_categories" => ["sponsor", "intro", "outro", "selfpromo", "interaction"], "sub_langs" => "en"}, "media_profile_preset" => ""} Pipelines: [:browser] 14:49:11.981 [debug] QUERY OK source="media_profiles" db=2.1ms idle=1582.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:49:12.034 [debug] QUERY OK source="media_profiles" db=52.4ms queue=0.1ms idle=939.5ms UPDATE "media_profiles" SET "download_thumbnail" = ?, "download_subs" = ?, "updated_at" = ? WHERE "id" = ? [true, false, ~U[2025-10-27 18:49:11Z], 1] 14:49:12.035 [info] Sent 302 in 56ms 14:49:12.048 [info] GET /media_profiles/1 14:49:12.048 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:49:12.052 [debug] QUERY OK source="media_profiles" db=3.3ms queue=0.1ms idle=1006.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:49:12.056 [debug] QUERY OK source="sources" db=3.1ms idle=1010.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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:49:12.059 [debug] QUERY OK source="settings" db=2.6ms idle=653.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:49:12.062 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms idle=77.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:49:12.065 [debug] QUERY OK source="settings" db=2.0ms idle=28.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:49:12.067 [info] Sent 200 in 18ms 14:49:32.908 [info] {"source":"oban","duration":3781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:00.739 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:50:02.912 [info] {"source":"oban","duration":3587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:26.913 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mhSXfGUB_CI --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/3/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/40/06/4006031ca08cb13dd60085b5ca9418830c447453c8650e0cc3392a274cdca1f3.json --sleep-requests 12 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] mhSXfGUB_CI: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] mhSXfGUB_CI: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] mhSXfGUB_CI: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 14:50:26.914 [debug] QUERY OK db=0.4ms queue=0.1ms idle=869.0ms begin [] 14:50:26.949 [debug] QUERY OK source="media_items" db=34.5ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [[["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e03 - Minecraft_-_Part_3_-_Moving_into_the_Yogcave.en.srt"]], ~U[2025-10-27 18:49:02Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e03 - Minecraft_-_Part_3_-_Moving_into_the_Yogcave.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e03 - Minecraft_-_Part_3_-_Moving_into_the_Yogcave.nfo", "/downloads/series/Shadow Of Israphel/Season 1/s01e03 - Minecraft_-_Part_3_-_Moving_into_the_Yogcave.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e03 - Minecraft_-_Part_3_-_Moving_into_the_Yogcave-thumb.jpg", ~U[2025-10-27 18:50:26Z], 3] 14:50:26.952 [debug] QUERY OK source="media_metadata" db=3.0ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/3/metadata.json.gz", "/config/metadata/media_items/3/thumbnail.jpg", 3, ~U[2025-10-27 18:50:26Z], ~U[2025-10-27 18:50:26Z]] 14:50:27.075 [debug] QUERY OK db=122.3ms commit [] 14:50:27.222 [debug] QUERY OK source="media_items" db=143.9ms queue=0.1ms idle=1034.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [131286948, ~U[2025-10-27 18:50:27Z], 3] 14:50:27.224 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:50:27.285 [info] {"args":{"id":3},"id":8,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":332938273,"event":"job:stop","queue_time":226216393,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:50:27.340 [info] {"args":{"id":5},"id":10,"meta":{},"system_time":1761591027340019423,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:50:27.349 [debug] QUERY OK source="media_items" db=8.5ms decode=0.1ms idle=556.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] 14:50:27.350 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:50:27.354 [debug] QUERY OK source="sources" db=4.2ms queue=0.1ms idle=275.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:50:27.361 [debug] QUERY OK source="media_profiles" db=5.6ms queue=1.0ms idle=132.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:50:27.371 [debug] QUERY OK source="media_items" db=7.6ms queue=0.5ms idle=77.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 [5] 14:50:27.376 [debug] QUERY OK source="media_metadata" db=3.3ms idle=32.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5] 14:50:27.379 [debug] QUERY OK source="media_profiles" db=2.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] 14:50:27.382 [debug] QUERY OK source="settings" db=2.5ms 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:50:27.385 [debug] QUERY OK source="settings" db=2.5ms 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 [] 14:50:27.389 [debug] Running yt-dlp command for action: get_downloadable_status 14:50:27.396 [debug] QUERY OK source="settings" db=5.2ms idle=19.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:50:27.399 [debug] QUERY OK source="settings" db=2.9ms 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:50:27.403 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=20.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:50:27.403 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0qRFPxAW6Is --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/72/2d/722d66087a04dec67e58d505eac1cbf04a0e848edba89cb246b4aadc7cfa1b62.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:50:30.231 [info] GET /media_profiles/1/edit 14:50:30.231 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:50:30.234 [debug] QUERY OK source="media_profiles" db=2.4ms queue=0.1ms idle=1186.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:50:30.237 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=1189.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:50:30.240 [debug] QUERY OK source="settings" db=2.4ms idle=1192.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:50:30.243 [debug] QUERY OK source="settings" db=2.2ms idle=1195.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:50:30.245 [info] Sent 200 in 14ms 14:50:32.916 [info] {"source":"oban","duration":3589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:59.330 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=sFOlXExhvhk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e04 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e04 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c1/f2/c1f28f39ef1254ec6b99804941f3ccda12b9ce012c39a1d7cdb8bd54220cea27.json --sleep-requests 15 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] sFOlXExhvhk: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] sFOlXExhvhk: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] sFOlXExhvhk: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 14:50:59.530 [debug] Running yt-dlp command for action: download_thumbnail 14:50:59.533 [debug] QUERY OK source="settings" db=2.4ms idle=1483.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:50:59.536 [debug] QUERY OK source="settings" db=2.6ms idle=1485.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:50:59.539 [debug] QUERY OK source="settings" db=2.4ms 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 [] 14:50:59.539 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=sFOlXExhvhk --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/4/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/47/90/4790dc266010c0d6b0fdd91176ba36dbc3f3c51c8caea89c2daf87ea93602147.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:51:00.740 [info] {"source":"oban","duration":280,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:51:02.920 [info] {"source":"oban","duration":3707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:32.925 [info] {"source":"oban","duration":4415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:37.208 [info] GET /sources 14:51:37.208 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 14:51:37.211 [debug] QUERY OK source="settings" db=2.6ms idle=1162.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:51:37.214 [debug] QUERY OK source="settings" db=2.2ms idle=1166.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:51:37.217 [debug] QUERY OK source="settings" db=2.3ms idle=1168.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:51:37.221 [debug] QUERY OK source="settings" db=2.5ms 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:51:37.224 [debug] QUERY OK source="settings" db=2.6ms idle=720.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:51:37.236 [debug] QUERY OK source="sources" db=11.1ms idle=13.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)) [] 14:51:37.248 [debug] QUERY OK source="sources" db=11.8ms idle=21.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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:51:37.250 [info] Sent 200 in 41ms 14:51:37.445 [info] CONNECTED TO Phoenix.LiveView.Socket in 49µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "aDQgFg4PQlQNXCAJA31GBTogKx0JPTYPPEDqMvr1Z0a1s5snhyNxQZZM", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:51:37.495 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 14:51:37.507 [debug] QUERY OK source="sources" db=11.0ms idle=278.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:51:37.522 [debug] QUERY OK source="sources" db=13.7ms queue=0.1ms idle=284.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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:51:37.522 [debug] Replied in 26ms 14:51:43.327 [debug] HANDLE EVENT "update" in PinchflatWeb.Sources.SourceLive.IndexTableLive Component: PinchflatWeb.Sources.SourceLive.SourceEnableToggle Parameters: %{"_target" => ["source", "enabled"], "source" => %{"enabled" => "false"}} 14:51:43.331 [debug] QUERY OK source="sources" db=3.2ms idle=801.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:51:43.437 [debug] QUERY OK source="sources" db=105.6ms idle=285.4ms UPDATE "sources" SET "enabled" = ?, "updated_at" = ? WHERE "id" = ? [false, ~U[2025-10-27 18:51:43Z], 1] 14:51:43.450 [debug] QUERY OK source="media_items" db=11.7ms queue=0.1ms idle=391.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 14:51:43.456 [debug] QUERY OK source="tasks" db=3.6ms queue=0.1ms idle=405.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."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [2, "available", "scheduled", "retryable"] 14:51:43.581 [debug] QUERY OK source="tasks" db=64.5ms idle=79.2ms DELETE FROM "tasks" WHERE "id" = ? [5] 14:51:43.585 [debug] QUERY OK source="tasks" db=3.8ms idle=125.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."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [4, "available", "scheduled", "retryable"] 14:51:43.589 [debug] QUERY OK source="tasks" db=3.5ms idle=127.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [5, "available", "scheduled", "retryable"] 14:51:43.593 [debug] QUERY OK source="tasks" db=3.7ms queue=0.1ms idle=73.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."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [6, "available", "scheduled", "retryable"] 14:51:43.688 [debug] QUERY OK source="tasks" db=41.7ms idle=60.8ms DELETE FROM "tasks" WHERE "id" = ? [9] 14:51:43.693 [debug] QUERY OK source="tasks" db=4.1ms idle=98.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."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [7, "available", "scheduled", "retryable"] 14:51:43.789 [debug] QUERY OK source="tasks" db=46.4ms idle=96.2ms DELETE FROM "tasks" WHERE "id" = ? [10] 14:51:43.793 [debug] QUERY OK source="tasks" db=4.0ms queue=0.1ms idle=101.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [8, "available", "scheduled", "retryable"] 14:51:43.892 [debug] QUERY OK source="tasks" db=45.4ms idle=104.8ms DELETE FROM "tasks" WHERE "id" = ? [11] 14:51:43.897 [debug] QUERY OK source="tasks" db=4.2ms queue=0.1ms idle=104.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."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [22, "available", "scheduled", "retryable"] 14:51:43.998 [debug] QUERY OK source="tasks" db=49.7ms idle=101.0ms DELETE FROM "tasks" WHERE "id" = ? [12] 14:51:44.002 [debug] QUERY OK source="tasks" db=4.2ms idle=105.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."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [23, "available", "scheduled", "retryable"] 14:51:44.098 [debug] QUERY OK source="tasks" db=41.2ms idle=108.9ms DELETE FROM "tasks" WHERE "id" = ? [13] 14:51:44.102 [debug] QUERY OK source="tasks" db=3.7ms queue=0.1ms idle=100.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."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [24, "available", "scheduled", "retryable"] 14:51:44.216 [debug] QUERY OK source="tasks" db=64.2ms idle=95.7ms DELETE FROM "tasks" WHERE "id" = ? [14] 14:51:44.224 [debug] QUERY OK source="tasks" db=7.1ms queue=0.2ms idle=119.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [25, "available", "scheduled", "retryable"] 14:51:44.346 [debug] QUERY OK source="tasks" db=62.3ms idle=131.5ms DELETE FROM "tasks" WHERE "id" = ? [15] 14:51:44.350 [debug] QUERY OK source="tasks" db=4.2ms queue=0.1ms idle=129.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."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [26, "available", "scheduled", "retryable"] 14:51:44.449 [debug] QUERY OK source="tasks" db=46.7ms idle=119.6ms DELETE FROM "tasks" WHERE "id" = ? [16] 14:51:44.453 [debug] QUERY OK source="tasks" db=3.5ms queue=0.1ms idle=104.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."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [27, "available", "scheduled", "retryable"] 14:51:45.275 [debug] QUERY OK source="tasks" db=195.0ms idle=630.0ms DELETE FROM "tasks" WHERE "id" = ? [17] 14:51:45.279 [debug] QUERY OK source="tasks" db=3.7ms queue=0.1ms idle=821.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."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [28, "available", "scheduled", "retryable"] 14:51:45.388 [debug] QUERY OK source="tasks" db=50.2ms idle=258.8ms DELETE FROM "tasks" WHERE "id" = ? [18] 14:51:45.393 [debug] QUERY OK source="tasks" db=3.8ms queue=0.1ms idle=114.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."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [29, "available", "scheduled", "retryable"] 14:51:45.497 [debug] QUERY OK source="tasks" db=49.9ms idle=109.0ms DELETE FROM "tasks" WHERE "id" = ? [19] 14:51:45.502 [debug] QUERY OK source="tasks" db=4.8ms queue=0.1ms idle=108.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."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [30, "available", "scheduled", "retryable"] 14:51:45.626 [debug] QUERY OK source="tasks" db=53.5ms queue=6.0ms idle=69.3ms DELETE FROM "tasks" WHERE "id" = ? [20] 14:51:45.630 [debug] QUERY OK source="tasks" db=4.2ms idle=123.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."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [31, "available", "scheduled", "retryable"] 14:51:45.731 [debug] QUERY OK source="tasks" db=49.8ms idle=107.8ms DELETE FROM "tasks" WHERE "id" = ? [21] 14:51:45.735 [debug] QUERY OK source="tasks" db=3.7ms queue=0.1ms idle=105.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."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [32, "available", "scheduled", "retryable"] 14:51:45.840 [debug] QUERY OK source="tasks" db=49.5ms idle=109.1ms DELETE FROM "tasks" WHERE "id" = ? [22] 14:51:45.845 [debug] QUERY OK source="tasks" db=4.3ms queue=0.1ms idle=108.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."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [33, "available", "scheduled", "retryable"] 14:51:45.944 [debug] QUERY OK source="tasks" db=46.7ms idle=106.9ms DELETE FROM "tasks" WHERE "id" = ? [23] 14:51:45.948 [debug] QUERY OK source="tasks" db=4.1ms queue=0.1ms idle=104.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."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [34, "available", "scheduled", "retryable"] 14:51:46.044 [debug] QUERY OK source="tasks" db=45.0ms idle=101.9ms DELETE FROM "tasks" WHERE "id" = ? [24] 14:51:46.048 [debug] QUERY OK source="tasks" db=3.2ms queue=0.1ms idle=100.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."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [35, "available", "scheduled", "retryable"] 14:51:46.145 [debug] QUERY OK source="tasks" db=46.2ms idle=99.6ms DELETE FROM "tasks" WHERE "id" = ? [25] 14:51:46.149 [debug] QUERY OK source="tasks" db=4.0ms queue=0.1ms idle=100.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."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [36, "available", "scheduled", "retryable"] 14:51:46.257 [debug] QUERY OK source="tasks" db=53.6ms idle=105.0ms DELETE FROM "tasks" WHERE "id" = ? [26] 14:51:46.261 [debug] QUERY OK source="tasks" db=4.0ms queue=0.1ms idle=112.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [37, "available", "scheduled", "retryable"] 14:51:46.357 [debug] QUERY OK source="tasks" db=45.3ms idle=109.0ms DELETE FROM "tasks" WHERE "id" = ? [27] 14:51:46.361 [debug] QUERY OK source="tasks" db=3.3ms queue=0.1ms idle=100.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."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [38, "available", "scheduled", "retryable"] 14:51:46.459 [debug] QUERY OK source="tasks" db=46.3ms idle=100.4ms DELETE FROM "tasks" WHERE "id" = ? [28] 14:51:46.463 [debug] QUERY OK source="tasks" db=3.6ms queue=0.1ms idle=101.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [39, "available", "scheduled", "retryable"] 14:51:46.559 [debug] QUERY OK source="tasks" db=46.5ms idle=100.3ms DELETE FROM "tasks" WHERE "id" = ? [29] 14:51:46.563 [debug] QUERY OK source="tasks" db=3.5ms queue=0.1ms idle=100.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."media_item_id" = ?) AND (o1."state" IN (?,?,?)) [40, "available", "scheduled", "retryable"] 14:51:48.622 [error] GenServer #PID<0.2927.0> terminating ** (Exqlite.Error) Database busy UPDATE "oban_jobs" AS o0 SET "state" = ?, "cancelled_at" = ? WHERE (o0."id" = ?) AND (NOT (o0."state" IN (SELECT value FROM JSON_EACH('["cancelled","completed","discarded"]')))) RETURNING "id", "queue", "state", "worker" (ecto_sql 3.12.1) lib/ecto/adapters/sql.ex:1096: Ecto.Adapters.SQL.raise_sql_call_error/1 (ecto_sql 3.12.1) lib/ecto/adapters/sql.ex:994: Ecto.Adapters.SQL.execute/6 (ecto 3.12.5) lib/ecto/repo/queryable.ex:232: Ecto.Repo.Queryable.execute/4 (oban 2.19.4) lib/oban/engines/lite.ex:268: Oban.Engines.Lite.cancel_all_jobs/2 (oban 2.19.4) lib/oban/engine.ex:335: anonymous fn/3 in Oban.Engine.cancel_all_jobs/2 (oban 2.19.4) lib/oban/engine.ex:387: anonymous fn/3 in Oban.Engine.with_span/4 (telemetry 1.3.0) /app/deps/telemetry/src/telemetry.erl:324: :telemetry.span/3 (oban 2.19.4) lib/oban.ex:1377: Oban.cancel_all_jobs/2 Last message: %Phoenix.Socket.Message{topic: "lv:phx-GHJtxQWP44cfahBh", event: "event", payload: %{"cid" => 1, "event" => "update", "meta" => %{"_target" => "source[enabled]"}, "type" => "form", "uploads" => %{}, "value" => "source%5Benabled%5D=false"}, ref: "8", join_ref: "4"} State: %{socket: #Phoenix.LiveView.Socket, router: nil, assigns: %{offset: 0, sources: [%{downloaded_count: 2, media_profile: %Pinchflat.Profiles.MediaProfile{__meta__: #Ecto.Schema.Metadata<:loaded, "media_profiles">, id: 1, name: "YouTube Series (With Ep Nums)", redownload_delay_days: 1, output_path_template: "/series/{{ source_custom_name }}/{{ static_season__episode_by_index }} - {{ title }}.{{ ext }}", download_subs: false, download_auto_subs: true, embed_subs: true, sub_langs: "en", download_thumbnail: true, embed_thumbnail: true, download_source_images: true, download_metadata: false, embed_metadata: true, download_nfo: false, sponsorblock_behaviour: :mark, sponsorblock_categories: ["sponsor", "intro", "outro", "selfpromo", "interaction"], shorts_behaviour: :exclude, livestream_behaviour: :exclude, audio_track: nil, preferred_resolution: :"1080p", media_container: nil, marked_for_deletion_at: nil, sources: #Ecto.Association.NotLoaded, inserted_at: ~U[2025-10-27 18:13:58Z], updated_at: ~U[2025-10-27 18:49:11Z]}, last_indexed_at: ~U[2025-10-27 18:35:00Z], updated_at: ~U[2025-10-27 18:41:07Z], max_duration_seconds: nil, pending_count: 85, fast_index: false, poster_filepath: "/downloads/shows/Shadow Of Israphel/poster.jpg", collection_name: "Minecraft Survival Multiplayer/ SoI", media_size_bytes: 262253455, fanart_filepath: nil, download_cutoff_date: nil, original_url: "https://www.youtube.com/playlist?list=PLF60520313D07F366", title_filter_regex: nil, index_frequency_minutes: 43200, media_profile_id: 1, min_duration_seconds: nil, output_path_template_override: nil, nfo_filepath: "/downloads/shows/Shadow Of Israphel/tvshow.nfo", inserted_at: ~U[2025-10-27 18:16:57Z], series_directory: "/downloads/shows/Shadow Of Israphel", collection_type: :playlist, id: 1, collection_id: "PLF60520313D07F366", enabled: true, description: "Lewis and Simon show you the ropes to this fantastic game!", banner_filepath: nil, download_media: true, marked_for_deletion_at: nil, uuid: "88c059eb-0ad2-4be2-9412-6aab2c49a275", custom_name: "Shadow Of Israphel", cookie_behaviour: :when_needed, retention_period_days: nil}], limit: 10, flash: %{}, __changed__: %{}, live_action: nil, page: 1, total_pages: 1, total_record_count: 1, sort_key: :custom_name, sort_direction: :asc}, transport_pid: #PID<0.2925.0>, sticky?: false, ...>, components: {%{1 => {PinchflatWeb.Sources.SourceLive.SourceEnableToggle, "source_1_enabled", %{form: #Ecto.Changeset, valid?: true, ...>, flash: %{}, myself: %Phoenix.LiveComponent.CID{cid: 1}, __changed__: %{}, source_id: 1}, %{lifecycle: %Phoenix.LiveView.Lifecycle{after_render: [], handle_async: [], handle_event: [], handle_info: [], handle_params: [], mount: []}, live_temp: %{}, root_view: PinchflatWeb.Sources.SourceLive.IndexTableLive, children_cids: []}, {162517347250720463165585005520158818742, %{0 => {300670037583339765649609411812229501396, %{3 => {15912246579329412003107994992892823724, %{0 => {134484948532813856768557987729183408798, %{}}}}}}}}}}, %{PinchflatWeb.Sources.SourceLive.SourceEnableToggle => %{"source_1_enabled" => 1}}, 2}, serializer: Phoenix.Socket.V2.JSONSerializer, topic: "lv:phx-GHJtxQWP44cfahBh", join_ref: "4", redirect_count: 0, upload_names: %{}, upload_pids: %{}} 14:51:50.016 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0qRFPxAW6Is --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/72/2d/722d66087a04dec67e58d505eac1cbf04a0e848edba89cb246b4aadc7cfa1b62.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] 0qRFPxAW6Is: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 0qRFPxAW6Is: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 0qRFPxAW6Is: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 14:51:50.017 [debug] Running yt-dlp command for action: download 14:51:50.020 [debug] QUERY OK source="settings" db=3.3ms idle=394.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:51:50.024 [debug] QUERY OK source="settings" db=2.9ms idle=398.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:51:50.027 [debug] QUERY OK source="settings" db=3.1ms idle=401.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:51:50.028 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0qRFPxAW6Is --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e05 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e05 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e7/d2/e7d20c988616a376c0ea9d9c429862e1d12ee631ec26628fffd36bda6b24390d.json --sleep-requests 12 --sleep-interval 14 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:51:50.444 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 14:51:50.456 [debug] QUERY OK source="sources" db=11.6ms idle=822.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:51:50.470 [debug] QUERY OK source="sources" db=12.6ms queue=0.1ms idle=827.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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:51:50.470 [debug] Replied in 25ms 14:52:00.741 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:52:02.930 [info] {"source":"oban","duration":4063,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:14.681 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=sFOlXExhvhk --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/4/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/47/90/4790dc266010c0d6b0fdd91176ba36dbc3f3c51c8caea89c2daf87ea93602147.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] sFOlXExhvhk: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] sFOlXExhvhk: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] sFOlXExhvhk: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 14:52:14.682 [debug] QUERY OK db=0.0ms idle=1059.3ms begin [] 14:52:14.713 [debug] QUERY OK source="media_items" db=31.0ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [[["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e04 - Minecraft_-_Part_4_-_The_first_quest_Pork_and_Glass.en.srt"]], ~U[2025-10-27 18:50:59Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e04 - Minecraft_-_Part_4_-_The_first_quest_Pork_and_Glass.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e04 - Minecraft_-_Part_4_-_The_first_quest_Pork_and_Glass.nfo", "/downloads/series/Shadow Of Israphel/Season 1/s01e04 - Minecraft_-_Part_4_-_The_first_quest_Pork_and_Glass.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e04 - Minecraft_-_Part_4_-_The_first_quest_Pork_and_Glass-thumb.jpg", ~U[2025-10-27 18:52:14Z], 4] 14:52:14.717 [debug] QUERY OK source="media_metadata" db=3.6ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/4/metadata.json.gz", "/config/metadata/media_items/4/thumbnail.jpg", 4, ~U[2025-10-27 18:52:14Z], ~U[2025-10-27 18:52:14Z]] 14:52:14.778 [debug] QUERY OK db=60.5ms commit [] 14:52:14.847 [debug] QUERY OK source="media_items" db=66.9ms idle=1031.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [149869844, ~U[2025-10-27 18:52:14Z], 4] 14:52:14.849 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:52:14.898 [info] {"args":{"id":4},"id":9,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":343248241,"event":"job:stop","queue_time":323558369,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:52:14.965 [info] {"args":{"id":40},"id":32,"meta":{},"system_time":1761591134965603285,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:52:14.974 [debug] QUERY OK source="media_items" db=8.2ms idle=187.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" = ?) [40] 14:52:14.975 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:52:14.982 [debug] QUERY OK source="sources" db=7.1ms queue=0.2ms idle=128.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:52:14.987 [debug] QUERY OK source="media_profiles" db=3.9ms queue=0.1ms idle=136.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:52:14.996 [debug] QUERY OK source="media_items" db=7.5ms queue=0.1ms idle=89.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 [40] 14:52:15.004 [debug] QUERY OK source="media_metadata" db=3.7ms queue=0.1ms idle=35.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [40] 14:52:15.008 [debug] QUERY OK source="media_profiles" db=3.5ms queue=0.2ms 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] 14:52:15.013 [debug] QUERY OK source="settings" db=4.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 [] 14:52:15.017 [debug] QUERY OK source="settings" db=3.6ms 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:52:15.020 [debug] Running yt-dlp command for action: get_downloadable_status 14:52:15.024 [debug] QUERY OK source="settings" db=3.4ms idle=24.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.028 [debug] QUERY OK source="settings" db=3.3ms 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 [] 14:52:15.032 [debug] QUERY OK source="settings" db=3.7ms queue=0.1ms idle=20.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.033 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3dfhDAdP-CQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/96/9a/969a1a328878fda661398fbcadaf26baef42d55514dd0a891db0255cf20d7703.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:52:32.935 [info] {"source":"oban","duration":3708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:00.742 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:53:02.939 [info] {"source":"oban","duration":4082,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:32.944 [info] {"source":"oban","duration":3905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:43.691 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3dfhDAdP-CQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/96/9a/969a1a328878fda661398fbcadaf26baef42d55514dd0a891db0255cf20d7703.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] 3dfhDAdP-CQ: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] 3dfhDAdP-CQ: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 3dfhDAdP-CQ: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 14:53:43.691 [debug] Running yt-dlp command for action: download 14:53:43.695 [debug] QUERY OK source="settings" db=3.4ms idle=1067.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:53:43.697 [debug] QUERY OK source="settings" db=2.2ms idle=1070.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:53:43.700 [debug] QUERY OK source="settings" db=2.6ms idle=1073.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:53:43.701 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3dfhDAdP-CQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e27 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e27 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/02/82/0282db69a73fd61532f3db1b0916bf6b9f4ded9cf935b579771fdd78418c4262.json --sleep-requests 11 --sleep-interval 15 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:54:00.743 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:54:02.948 [info] {"source":"oban","duration":3218,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:14.151 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0qRFPxAW6Is --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e05 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e05 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e7/d2/e7d20c988616a376c0ea9d9c429862e1d12ee631ec26628fffd36bda6b24390d.json --sleep-requests 12 --sleep-interval 14 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] 0qRFPxAW6Is: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 0qRFPxAW6Is: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 0qRFPxAW6Is: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 14:54:14.220 [debug] Running yt-dlp command for action: download_thumbnail 14:54:14.223 [debug] QUERY OK source="settings" db=2.5ms idle=1595.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:54:14.226 [debug] QUERY OK source="settings" db=2.3ms idle=1598.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:54:14.228 [debug] QUERY OK source="settings" db=2.1ms idle=1601.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:54:14.229 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0qRFPxAW6Is --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/5/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/d0/73/d07315b5287d12d1630690fa17e0af3b2d988d5dfbee6257c322746eba297e98.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:54:32.954 [info] {"source":"oban","duration":5225,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:00.744 [info] {"source":"oban","duration":294,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:55:02.960 [info] {"source":"oban","duration":4752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:32.965 [info] {"source":"oban","duration":3688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:47.673 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0qRFPxAW6Is --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/5/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/d0/73/d07315b5287d12d1630690fa17e0af3b2d988d5dfbee6257c322746eba297e98.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] 0qRFPxAW6Is: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] 0qRFPxAW6Is: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 0qRFPxAW6Is: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 14:55:47.674 [debug] QUERY OK db=0.0ms idle=1048.9ms begin [] 14:55:47.700 [debug] QUERY OK source="media_items" db=25.4ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [[["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e05 - Minecraft_-_Part_5_-_The_Legend_of_Pig_Island.en.vtt"]], ~U[2025-10-27 18:54:14Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e05 - Minecraft_-_Part_5_-_The_Legend_of_Pig_Island.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e05 - Minecraft_-_Part_5_-_The_Legend_of_Pig_Island.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e05 - Minecraft_-_Part_5_-_The_Legend_of_Pig_Island-thumb.jpg", ~U[2025-10-27 18:55:47Z], 5] 14:55:47.704 [debug] QUERY OK source="media_metadata" db=3.3ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/5/metadata.json.gz", "/config/metadata/media_items/5/thumbnail.jpg", 5, ~U[2025-10-27 18:55:47Z], ~U[2025-10-27 18:55:47Z]] 14:55:47.834 [debug] QUERY OK db=129.9ms commit [] 14:55:47.918 [debug] QUERY OK source="media_items" db=82.1ms idle=1210.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [135147077, ~U[2025-10-27 18:55:47Z], 5] 14:55:47.920 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:55:47.961 [info] {"args":{"id":5},"id":10,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":320580593,"event":"job:stop","queue_time":559291387,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:55:48.037 [info] {"args":{"id":41},"id":33,"meta":{},"system_time":1761591348037507308,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:55:48.041 [debug] QUERY OK source="media_items" db=3.5ms idle=203.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [41] 14:55:48.042 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:55:48.045 [debug] QUERY OK source="sources" db=2.8ms idle=123.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:55:48.048 [debug] QUERY OK source="media_profiles" db=2.6ms idle=115.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:55:48.052 [debug] QUERY OK source="media_items" db=3.9ms idle=87.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 [41] 14:55:48.056 [debug] QUERY OK source="media_metadata" db=2.5ms idle=16.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [41] 14:55:48.060 [debug] QUERY OK source="media_profiles" db=3.0ms 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] 14:55:48.063 [debug] QUERY OK source="settings" db=2.5ms 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:55:48.065 [debug] QUERY OK source="settings" db=2.4ms idle=14.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:55:48.067 [debug] Running yt-dlp command for action: get_downloadable_status 14:55:48.071 [debug] QUERY OK source="settings" db=2.5ms 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 [] 14:55:48.074 [debug] QUERY OK source="settings" db=2.7ms idle=14.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:55:48.077 [debug] QUERY OK source="settings" db=2.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:55:48.077 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=BcsN3d7eKgY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/47/f2/47f23a7e68086fcb2c8b9c134a66937f50a052489ebd7292844c10b20b8ce454.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:56:00.745 [info] {"source":"oban","duration":277,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:56:02.971 [info] {"source":"oban","duration":5432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:21.863 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3dfhDAdP-CQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e27 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e27 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/02/82/0282db69a73fd61532f3db1b0916bf6b9f4ded9cf935b579771fdd78418c4262.json --sleep-requests 11 --sleep-interval 15 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] 3dfhDAdP-CQ: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 3dfhDAdP-CQ: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 3dfhDAdP-CQ: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 14:56:21.935 [debug] Running yt-dlp command for action: download_thumbnail 14:56:21.939 [debug] QUERY OK source="settings" db=2.5ms idle=1311.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:56:21.942 [debug] QUERY OK source="settings" db=2.4ms idle=1314.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:56:21.945 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms idle=1317.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:56:21.945 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3dfhDAdP-CQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/40/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/6c/44/6c44ce00d10d38b320bf48ff9345a6d3ee1a58b159b07f44c137a0940e72bc18.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:56:32.977 [info] {"source":"oban","duration":4959,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:58.675 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=BcsN3d7eKgY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/47/f2/47f23a7e68086fcb2c8b9c134a66937f50a052489ebd7292844c10b20b8ce454.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] BcsN3d7eKgY: nsig extraction failed: Some formats may be missing n = s4qmosA-GosnkTN9 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] BcsN3d7eKgY: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] BcsN3d7eKgY: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 14:56:58.675 [debug] Running yt-dlp command for action: download 14:56:58.679 [debug] QUERY OK source="settings" db=3.7ms idle=1050.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:56:58.683 [debug] QUERY OK source="settings" db=3.7ms idle=1054.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:56:58.686 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=1058.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:56:58.687 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=BcsN3d7eKgY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e28 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e28 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/18/3c/183c11cd856427f59a7bbe0f0fc99cedf54ec1f2f1750170a20d74ccb4e0b258.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:57:00.746 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:57:02.982 [info] {"source":"oban","duration":3807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:08.247 [info] GET /media_profiles 14:57:08.247 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 14:57:08.251 [debug] QUERY OK source="media_profiles" db=3.5ms idle=1622.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:57:08.254 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms 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 [] 14:57:08.257 [debug] QUERY OK source="settings" db=2.5ms idle=1629.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:57:08.260 [debug] QUERY OK source="settings" db=2.2ms idle=1632.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:57:08.262 [info] Sent 200 in 14ms 14:57:11.559 [info] GET /sources 14:57:11.559 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 14:57:11.562 [debug] QUERY OK source="settings" db=2.5ms idle=1934.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:57:11.564 [debug] QUERY OK source="settings" db=2.4ms idle=1936.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:57:11.568 [debug] QUERY OK source="settings" db=2.4ms idle=1940.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:57:11.571 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=1178.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:57:11.574 [debug] QUERY OK source="settings" db=2.2ms 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:57:11.588 [debug] QUERY OK source="sources" db=13.0ms idle=12.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)) [] 14:57:11.601 [debug] QUERY OK source="sources" db=12.5ms idle=23.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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:57:11.603 [info] Sent 200 in 44ms 14:57:11.723 [info] CONNECTED TO Phoenix.LiveView.Socket in 35µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dDMuASIuYgwkHzANRj9vHjFgFREiPSAbLBJfaWRissq56wZuc9ptzZLY", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:57:11.753 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 14:57:11.766 [debug] QUERY OK source="sources" db=12.5ms idle=185.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)) [] 14:57:11.780 [debug] QUERY OK source="sources" db=13.2ms queue=0.1ms idle=195.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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:57:11.780 [debug] Replied in 27ms 14:57:13.887 [info] GET /sources/1 14:57:13.888 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:57:13.892 [debug] QUERY OK source="sources" db=3.4ms idle=1262.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:57:13.895 [debug] QUERY OK source="media_profiles" db=2.9ms idle=1266.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:57:13.900 [debug] QUERY OK source="tasks" db=4.6ms idle=489.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:57:13.903 [debug] QUERY OK source="oban_jobs" db=2.8ms idle=275.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [93] 14:57:13.906 [debug] QUERY OK source="settings" db=2.7ms idle=278.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:57:13.909 [debug] QUERY OK source="settings" db=2.4ms queue=0.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 [] 14:57:13.912 [debug] QUERY OK source="settings" db=2.4ms 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:57:13.917 [debug] QUERY OK source="sources" db=2.5ms idle=13.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:57:13.920 [debug] QUERY OK source="media_items" db=3.0ms idle=13.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] 14:57:13.932 [debug] QUERY OK source="media_items" db=11.9ms queue=0.1ms idle=13.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:57:13.936 [debug] QUERY OK source="sources" db=2.1ms idle=24.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:57:13.939 [debug] QUERY OK source="media_items" db=2.5ms idle=24.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:57:13.942 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=23.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:57:13.945 [debug] QUERY OK source="sources" db=2.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] 14:57:13.949 [debug] QUERY OK source="media_items" db=2.7ms idle=13.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 14:57:13.952 [debug] QUERY OK source="media_items" db=3.2ms idle=12.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:57:13.954 [info] Sent 200 in 66ms 14:57:14.061 [info] CONNECTED TO Phoenix.LiveView.Socket in 36µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XjwFCjc8VF0bNDd0FQZZGGA-AiYcMi8TfMamtEd8LXvLeNls2ggCDUCQ", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:57:14.074 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "pending", "source_id" => 1} 14:57:14.078 [debug] QUERY OK source="sources" db=3.6ms idle=134.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:57:14.082 [debug] QUERY OK source="media_items" db=3.3ms queue=0.1ms idle=136.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:57:14.085 [debug] QUERY OK source="media_items" db=2.8ms idle=136.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] 14:57:14.085 [debug] Replied in 11ms 14:57:14.088 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "downloaded", "source_id" => 1} 14:57:14.091 [debug] QUERY OK source="sources" db=2.4ms idle=139.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:57:14.094 [debug] QUERY OK source="media_items" db=2.8ms idle=138.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:57:14.097 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=16.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:57:14.097 [debug] Replied in 9ms 14:57:14.099 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "other", "source_id" => 1} 14:57:14.103 [debug] QUERY OK source="sources" db=3.9ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:57:14.106 [debug] QUERY OK source="media_items" db=2.6ms idle=18.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:57:14.111 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=16.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:57:14.111 [debug] Replied in 11ms 14:57:22.364 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:57:22.367 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=920.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] 14:57:22.371 [debug] QUERY OK source="media_items" db=3.1ms idle=742.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, 10] 14:57:22.371 [debug] Replied in 6ms 14:57:22.528 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:57:22.533 [debug] QUERY OK source="media_items" db=3.6ms queue=0.1ms idle=903.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] 14:57:22.537 [debug] QUERY OK source="media_items" db=3.9ms idle=907.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, 20] 14:57:22.537 [debug] Replied in 8ms 14:57:22.697 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:57:22.700 [debug] QUERY OK source="media_items" db=3.0ms idle=329.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] 14:57:22.704 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=329.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 30] 14:57:22.705 [debug] Replied in 8ms 14:57:22.811 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:57:22.814 [debug] QUERY OK source="media_items" db=2.6ms idle=362.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] 14:57:22.817 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=281.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, 40] 14:57:22.817 [debug] Replied in 6ms 14:57:23.026 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:57:23.030 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=489.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] 14:57:23.032 [debug] QUERY OK source="media_items" db=2.6ms idle=329.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, 50] 14:57:23.033 [debug] Replied in 6ms 14:57:23.524 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:57:23.527 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=710.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] 14:57:23.531 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=710.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, 60] 14:57:23.531 [debug] Replied in 7ms 14:57:24.445 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:57:24.448 [debug] QUERY OK source="media_items" db=3.2ms idle=1415.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] 14:57:24.452 [debug] QUERY OK source="media_items" db=3.0ms idle=1416.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, 70] 14:57:24.452 [debug] Replied in 7ms 14:57:25.294 [debug] HANDLE EVENT "page_change" in PinchflatWeb.Sources.MediaItemTableLive Parameters: %{"direction" => "inc"} 14:57:25.298 [debug] QUERY OK source="media_items" db=3.3ms idle=845.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] 14:57:25.301 [debug] QUERY OK source="media_items" db=3.1ms idle=846.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, 80] 14:57:25.301 [debug] Replied in 7ms 14:57:32.986 [info] {"source":"oban","duration":3523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:43.606 [info] GET /sources/1/media/2 14:57:43.606 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2", "source_id" => "1"} Pipelines: [:browser] 14:57:43.612 [debug] QUERY OK source="media_items" db=5.4ms idle=981.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] 14:57:43.616 [debug] QUERY OK source="sources" db=3.2ms idle=987.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:57:43.617 [debug] QUERY OK source="tasks" db=2.6ms queue=1.3ms idle=987.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" [2] 14:57:43.621 [debug] QUERY OK source="settings" db=3.7ms queue=0.1ms idle=992.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:57:43.624 [debug] QUERY OK source="settings" db=3.0ms idle=70.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:57:43.628 [debug] QUERY OK source="settings" db=2.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:57:43.632 [debug] QUERY OK source="media_profiles" db=2.6ms idle=12.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:57:43.635 [info] Sent 200 in 29ms 14:57:44.887 [info] GET /sources/1/media/2 14:57:44.887 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2", "source_id" => "1"} Pipelines: [:browser] 14:57:44.891 [debug] QUERY OK source="media_items" db=3.0ms idle=1259.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" = ?) [2] 14:57:44.893 [debug] QUERY OK source="sources" db=2.2ms queue=0.1ms idle=336.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:57:44.894 [debug] QUERY OK source="tasks" db=2.9ms idle=1259.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [2] 14:57:44.897 [debug] QUERY OK source="settings" db=2.0ms idle=269.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:57:44.899 [debug] QUERY OK source="settings" db=2.1ms idle=271.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:57:44.902 [debug] QUERY OK source="settings" db=2.5ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:57:44.905 [debug] QUERY OK source="media_profiles" db=1.9ms idle=9.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:57:44.907 [info] Sent 200 in 20ms 14:57:55.185 [notice] SIGTERM received - shutting down 14:57:55.186 [info] DRAINING 1 of 1 total connection(s) for socket Phoenix.LiveView.Socket every 2000ms - round 1 of 1 14:57:59.934 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3dfhDAdP-CQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/40/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/6c/44/6c44ce00d10d38b320bf48ff9345a6d3ee1a58b159b07f44c137a0940e72bc18.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] 3dfhDAdP-CQ: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 3dfhDAdP-CQ: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 3dfhDAdP-CQ: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 14:57:59.935 [debug] QUERY OK db=0.1ms queue=0.2ms idle=1309.9ms begin [] 14:57:59.959 [debug] QUERY OK source="media_items" db=22.9ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [[["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e27 - Minecraft_-_Part_27_-_The_Tunnel_Run.en.vtt"]], ~U[2025-10-27 18:56:21Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e27 - Minecraft_-_Part_27_-_The_Tunnel_Run.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e27 - Minecraft_-_Part_27_-_The_Tunnel_Run.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e27 - Minecraft_-_Part_27_-_The_Tunnel_Run-thumb.jpg", ~U[2025-10-27 18:57:59Z], 40] 14:57:59.962 [debug] QUERY OK source="media_metadata" db=2.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/40/metadata.json.gz", "/config/metadata/media_items/40/thumbnail.jpg", 40, ~U[2025-10-27 18:57:59Z], ~U[2025-10-27 18:57:59Z]] 14:58:00.024 [debug] QUERY OK db=61.8ms commit [] 14:58:00.117 [debug] QUERY OK source="media_items" db=90.8ms idle=1400.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [158345421, ~U[2025-10-27 18:58:00Z], 40] 14:58:00.118 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:58:00.159 [info] {"args":{"id":40},"id":32,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":345153381,"event":"job:stop","queue_time":663905357,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:58:00.159 [error] Handler "job-telemetry-broadcast" has failed and has been detached. Class=:error Reason=:badarg Stacktrace=[ {:ets, :lookup, [PinchflatWeb.Endpoint, :pubsub_server], [error_info: %{cause: :id, module: :erl_stdlib_errors}]}, {PinchflatWeb.Endpoint, :config, 2, [file: ~c"deps/phoenix/lib/phoenix/endpoint.ex", line: 529]}, {PinchflatWeb.Endpoint, :pubsub_server!, 0, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 2]}, {PinchflatWeb.Endpoint, :broadcast, 3, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 2]}, {:telemetry, :"-execute/3-fun-0-", 4, [file: ~c"/app/deps/telemetry/src/telemetry.erl", line: 167]}, {:lists, :foreach_1, 2, [file: ~c"lists.erl", line: 2310]}, {Oban.Queue.Executor, :emit_event, 1, [file: ~c"lib/oban/queue/executor.ex", line: 299]}, {Oban.Queue.Executor, :"-call/1-fun-0-", 1, [file: ~c"lib/oban/queue/executor.ex", line: 84]} ] 14:58:16.477 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:58:16.477 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:58:16.477 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:58:16.477 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:58:16.478 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:58:16.531 [debug] QUERY OK source="oban_jobs" db=48.8ms queue=19.5ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:58:16.532 [info] Reset 1 executing jobs 14:58:16.533 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:58:17.815 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2025.09.26 14:58:17.815 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:58:18.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. 14:58:18.135 [debug] QUERY OK source="settings" db=3.1ms queue=0.2ms idle=1648.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:18.216 [debug] QUERY OK source="settings" db=81.2ms idle=1652.5ms UPDATE "settings" SET "yt_dlp_version" = ? WHERE "id" = ? ["2025.09.26", 1] 14:58:18.219 [debug] QUERY OK source="settings" db=2.7ms idle=1734.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:18.220 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:58:18.224 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:58:18.233 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:58:18.234 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:58:18.366 [info] {"args":{},"id":94,"meta":{},"system_time":1761591498366524079,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:58:18.366 [info] Updating yt-dlp 14:58:18.367 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:58:19.317 [info] {"args":{"id":41},"id":33,"meta":{},"system_time":1761591499316964554,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:58:19.320 [debug] QUERY OK source="media_items" db=2.6ms queue=0.2ms idle=1097.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [41] 14:58:19.320 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:58:19.323 [debug] QUERY OK source="sources" db=2.2ms queue=0.2ms idle=1046.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:58:19.326 [debug] QUERY OK source="media_profiles" db=2.0ms queue=0.2ms idle=957.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:58:19.330 [debug] QUERY OK source="media_items" db=3.1ms queue=0.3ms idle=51.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 [41] 14:58:19.334 [debug] QUERY OK source="media_metadata" db=2.7ms queue=0.1ms idle=14.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [41] 14:58:19.337 [debug] QUERY OK source="media_profiles" db=2.6ms 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] 14:58:19.340 [debug] QUERY OK source="settings" db=2.3ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:19.343 [debug] QUERY OK source="settings" db=2.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 [] 14:58:19.345 [debug] Running yt-dlp command for action: get_downloadable_status 14:58:19.349 [debug] QUERY OK source="settings" db=2.5ms 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 [] 14:58:19.352 [debug] QUERY OK source="settings" db=2.6ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:19.355 [debug] QUERY OK source="settings" db=2.7ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:19.355 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=BcsN3d7eKgY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a5/96/a59637bee90a8da5d08a506491256190a0f0cd08212a78a9d68b1abcd28485c4.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:58:21.464 [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@2025.10.22 from yt-dlp/yt-dlp Current Build Hash: d2f07382138f4bd882254996502636f5a67a8c5ee5ab8a25807e2784a4878642 Updating to stable@2025.10.22 from yt-dlp/yt-dlp ... Updated yt-dlp to stable@2025.10.22 from yt-dlp/yt-dlp 14:58:21.465 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:58:21.490 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=BcsN3d7eKgY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a5/96/a59637bee90a8da5d08a506491256190a0f0cd08212a78a9d68b1abcd28485c4.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: /usr/local/bin/yt-dlp appears to have been moved or deleted since this application was launched. Continouation from this state is impossible. Exiting now. 14:58:21.491 [error] yt-dlp download error for media item #41: "ERROR: /usr/local/bin/yt-dlp appears to have been moved or deleted since this application was launched. Continouation from this state is impossible. Exiting now.\n" 14:58:21.580 [debug] QUERY OK source="media_items" db=88.9ms queue=0.1ms idle=1028.6ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: /usr/local/bin/yt-dlp appears to have been moved or deleted since this application was launched. Continouation from this state is impossible. Exiting now.\n", ~U[2025-10-27 18:58:21Z], 41] 14:58:21.630 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":41},"id":33,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":2263937,"event":"job:exception","queue_time":1028255692,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:58:21.681 [info] {"args":{"id":42},"id":34,"meta":{},"system_time":1761591501681340078,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:58:21.684 [debug] QUERY OK source="media_items" db=3.0ms idle=1218.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" = ?) [42] 14:58:21.685 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:58:21.688 [debug] QUERY OK source="sources" db=2.5ms idle=397.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:58:21.691 [debug] QUERY OK source="media_profiles" db=2.6ms idle=107.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:58:21.695 [debug] QUERY OK source="media_items" db=3.2ms idle=61.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 [42] 14:58:21.698 [debug] QUERY OK source="media_metadata" db=2.3ms idle=14.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [42] 14:58:21.701 [debug] QUERY OK source="media_profiles" db=2.7ms idle=13.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:58:21.705 [debug] QUERY OK source="settings" db=2.6ms 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:58:21.708 [debug] QUERY OK source="settings" db=2.7ms 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:58:21.709 [debug] Running yt-dlp command for action: get_downloadable_status 14:58:21.712 [debug] QUERY OK source="settings" db=2.5ms 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:58:21.715 [debug] QUERY OK source="settings" db=2.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:58:21.718 [debug] QUERY OK source="settings" db=2.2ms 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 [] 14:58:21.718 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4uH58nL-RmQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fd/bd/fdbdead0eb56a8f589c43510e5a78865bf78549d972444f5229e0f3c0b4e14a8.json --sleep-requests 12 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:58:22.916 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2025.10.22 14:58:22.920 [debug] QUERY OK source="settings" db=3.0ms idle=1208.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:22.972 [debug] QUERY OK source="settings" db=51.8ms idle=1207.4ms UPDATE "settings" SET "yt_dlp_version" = ? WHERE "id" = ? ["2025.10.22", 1] 14:58:23.016 [info] {"args":{},"id":94,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":4605929,"event":"job:stop","queue_time":280691,"attempt":1,"tags":["local_data"]} 14:58:42.489 [info] CONNECTED TO Phoenix.LiveView.Socket in 43µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "aDQgFg4PQlQNXCAJA31GBTogKx0JPTYPPEDqMvr1Z0a1s5snhyNxQZZM", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "1", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:58:42.507 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 14:58:42.519 [debug] QUERY OK source="sources" db=11.4ms queue=0.6ms idle=41.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)) [] 14:58:42.534 [debug] QUERY OK source="sources" db=12.3ms queue=1.7ms idle=54.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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:58:42.535 [debug] Replied in 28ms 14:58:48.231 [info] {"source":"oban","duration":6219,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:00.226 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:59:18.236 [info] {"source":"oban","duration":4192,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:37.910 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4uH58nL-RmQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fd/bd/fdbdead0eb56a8f589c43510e5a78865bf78549d972444f5229e0f3c0b4e14a8.json --sleep-requests 12 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 4uH58nL-RmQ: nsig extraction failed: Some formats may be missing n = BANEk94D89BlZTNw ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 4uH58nL-RmQ: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 4uH58nL-RmQ: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 14:59:37.910 [debug] Running yt-dlp command for action: download 14:59:37.913 [debug] QUERY OK source="settings" db=2.8ms idle=1179.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:59:37.916 [debug] QUERY OK source="settings" db=2.6ms idle=447.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:59:37.919 [debug] QUERY OK source="settings" db=2.9ms idle=450.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:59:37.920 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4uH58nL-RmQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e29 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e29 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7d/07/7d072699876bd595cba9f5d7785854bfa44674c17161de54f1c7ea02d6539ed3.json --sleep-requests 14 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:59:48.241 [info] {"source":"oban","duration":4291,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:00.227 [info] {"source":"oban","duration":303,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:00:18.246 [info] {"source":"oban","duration":3949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:48.251 [info] {"source":"oban","duration":3699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:00.228 [info] {"source":"oban","duration":332,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:01:18.257 [info] {"source":"oban","duration":4508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:48.260 [info] {"source":"oban","duration":3143,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:00.229 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:02:16.697 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4uH58nL-RmQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e29 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e29 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7d/07/7d072699876bd595cba9f5d7785854bfa44674c17161de54f1c7ea02d6539ed3.json --sleep-requests 14 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 4uH58nL-RmQ: nsig extraction failed: Some formats may be missing n = eptA99tP8p2drD6g ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 4uH58nL-RmQ: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 4uH58nL-RmQ: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:02:16.806 [debug] Running yt-dlp command for action: download_thumbnail 15:02:16.809 [debug] QUERY OK source="settings" db=2.1ms idle=1340.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:16.812 [debug] QUERY OK source="settings" db=2.5ms idle=1343.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:16.815 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=1345.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:16.815 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4uH58nL-RmQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/42/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/09/5f/095fa92c8c93dca01fdd44d45749826a1209d51a95fa447c401f22b81462e753.json --sleep-requests 12 --sleep-interval 14 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:02:18.265 [info] {"source":"oban","duration":4247,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:48.270 [info] {"source":"oban","duration":3592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:00.230 [info] {"source":"oban","duration":298,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:03:18.274 [info] {"source":"oban","duration":3823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:36.717 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4uH58nL-RmQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/42/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/09/5f/095fa92c8c93dca01fdd44d45749826a1209d51a95fa447c401f22b81462e753.json --sleep-requests 12 --sleep-interval 14 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 4uH58nL-RmQ: nsig extraction failed: Some formats may be missing n = 2OrTOuZSyBGRFn3u ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 4uH58nL-RmQ: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 4uH58nL-RmQ: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:03:36.717 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1251.8ms begin [] 15:03:36.774 [debug] QUERY OK source="media_items" db=56.6ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 19:02:16Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e29 - Minecraft_-_Survival_Island_Part_2_-_I_have_a_sense_of_impending_doom.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e29 - Minecraft_-_Survival_Island_Part_2_-_I_have_a_sense_of_impending_doom.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e29 - Minecraft_-_Survival_Island_Part_2_-_I_have_a_sense_of_impending_doom.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e29 - Minecraft_-_Survival_Island_Part_2_-_I_have_a_sense_of_impending_doom-thumb.jpg", ~U[2025-10-27 19:03:36Z], 42] 15:03:36.778 [debug] QUERY OK source="media_metadata" db=3.5ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/42/metadata.json.gz", "/config/metadata/media_items/42/thumbnail.jpg", 42, ~U[2025-10-27 19:03:36Z], ~U[2025-10-27 19:03:36Z]] 15:03:36.838 [debug] QUERY OK db=59.1ms commit [] 15:03:36.908 [debug] QUERY OK source="media_items" db=67.7ms idle=1374.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [98032141, ~U[2025-10-27 19:03:36Z], 42] 15:03:36.909 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:03:36.951 [info] {"args":{"id":42},"id":34,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":315228648,"event":"job:stop","queue_time":1030636669,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:03:37.001 [info] {"args":{"id":43},"id":35,"meta":{},"system_time":1761591817001536582,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:03:37.005 [debug] QUERY OK source="media_items" db=3.2ms idle=164.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" = ?) [43] 15:03:37.005 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:03:37.008 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=97.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:03:37.011 [debug] QUERY OK source="media_profiles" db=2.3ms idle=57.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:03:37.015 [debug] QUERY OK source="media_items" db=3.4ms 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 [43] 15:03:37.019 [debug] QUERY OK source="media_metadata" db=2.3ms idle=15.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [43] 15:03:37.021 [debug] QUERY OK source="media_profiles" db=2.5ms 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] 15:03:37.025 [debug] QUERY OK source="settings" db=2.6ms 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 [] 15:03:37.028 [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 [] 15:03:37.030 [debug] Running yt-dlp command for action: get_downloadable_status 15:03:37.034 [debug] QUERY OK source="settings" db=3.4ms 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 [] 15:03:37.037 [debug] QUERY OK source="settings" db=2.4ms 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 [] 15:03:37.039 [debug] QUERY OK source="settings" db=2.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 [] 15:03:37.040 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8rXxZ2J_Q10 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/33/4a/334af3a67cc8b17330833b851b395169d5092f01d31ca856a8a340c52538d366.json --sleep-requests 12 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:03:48.281 [info] {"source":"oban","duration":5517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:00.231 [info] {"source":"oban","duration":291,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:04:18.285 [info] {"source":"oban","duration":4112,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:48.290 [info] {"source":"oban","duration":3866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:54.885 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8rXxZ2J_Q10 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/33/4a/334af3a67cc8b17330833b851b395169d5092f01d31ca856a8a340c52538d366.json --sleep-requests 12 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] 8rXxZ2J_Q10: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 8rXxZ2J_Q10: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 8rXxZ2J_Q10: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:04:54.885 [debug] Running yt-dlp command for action: download 15:04:54.888 [debug] QUERY OK source="settings" db=2.7ms idle=1415.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:04:54.891 [debug] QUERY OK source="settings" db=2.4ms idle=1418.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:04:54.893 [debug] QUERY OK source="settings" db=2.4ms idle=1421.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:04:54.894 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8rXxZ2J_Q10 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e30 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e30 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a6/6b/a66bd3a604b405ff42cff13a5855303dd30585b12cb2767d54ead6317ba96558.json --sleep-requests 14 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:05:00.236 [info] {"source":"oban","duration":1322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:05:18.296 [info] {"source":"oban","duration":4496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:48.299 [info] {"source":"oban","duration":3172,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:00.238 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:06:18.304 [info] {"source":"oban","duration":3807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:48.309 [info] {"source":"oban","duration":4063,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:00.239 [info] {"source":"oban","duration":293,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:07:18.315 [info] {"source":"oban","duration":4609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:48.320 [info] {"source":"oban","duration":3596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:54.538 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8rXxZ2J_Q10 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e30 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e30 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a6/6b/a66bd3a604b405ff42cff13a5855303dd30585b12cb2767d54ead6317ba96558.json --sleep-requests 14 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] 8rXxZ2J_Q10: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] 8rXxZ2J_Q10: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 8rXxZ2J_Q10: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:07:54.610 [debug] Running yt-dlp command for action: download_thumbnail 15:07:54.616 [debug] QUERY OK source="settings" db=2.3ms idle=1144.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:07:54.619 [debug] QUERY OK source="settings" db=2.6ms idle=1146.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:07:54.621 [debug] QUERY OK source="settings" db=2.1ms idle=1149.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:07:54.622 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8rXxZ2J_Q10 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/43/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/0c/7a/0c7a49baf84c3f75063db6f1984d63e29a217d0689d43a4c8c34cab485ae1dcb.json --sleep-requests 13 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:08:00.240 [info] {"source":"oban","duration":277,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:08:18.324 [info] {"source":"oban","duration":3541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:48.328 [info] {"source":"oban","duration":3610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:00.241 [info] {"source":"oban","duration":290,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:09:18.331 [info] {"source":"oban","duration":2994,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:21.813 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8rXxZ2J_Q10 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/43/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/0c/7a/0c7a49baf84c3f75063db6f1984d63e29a217d0689d43a4c8c34cab485ae1dcb.json --sleep-requests 13 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] 8rXxZ2J_Q10: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 8rXxZ2J_Q10: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 8rXxZ2J_Q10: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:09:21.814 [debug] QUERY OK db=0.0ms idle=342.8ms begin [] 15:09:21.834 [debug] QUERY OK source="media_items" db=19.0ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 19:07:54Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e30 - Minecraft_-_Survival_Island_Part_3_-_Mushroom_on_toast.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e30 - Minecraft_-_Survival_Island_Part_3_-_Mushroom_on_toast.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e30 - Minecraft_-_Survival_Island_Part_3_-_Mushroom_on_toast.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e30 - Minecraft_-_Survival_Island_Part_3_-_Mushroom_on_toast-thumb.jpg", ~U[2025-10-27 19:09:21Z], 43] 15:09:21.837 [debug] QUERY OK source="media_metadata" db=2.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/43/metadata.json.gz", "/config/metadata/media_items/43/thumbnail.jpg", 43, ~U[2025-10-27 19:09:21Z], ~U[2025-10-27 19:09:21Z]] 15:09:21.901 [debug] QUERY OK db=64.1ms commit [] 15:09:21.986 [debug] QUERY OK source="media_items" db=82.3ms idle=432.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [105608999, ~U[2025-10-27 19:09:21Z], 43] 15:09:21.988 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:09:22.031 [info] {"args":{"id":43},"id":35,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":344986707,"event":"job:stop","queue_time":1345959657,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:09:22.095 [info] {"args":{"id":44},"id":36,"meta":{},"system_time":1761592162095602586,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:09:22.098 [debug] QUERY OK source="media_items" db=2.7ms idle=426.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" = ?) [44] 15:09:22.099 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:09:22.102 [debug] QUERY OK source="sources" db=2.6ms decode=0.1ms idle=197.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:09:22.105 [debug] QUERY OK source="media_profiles" db=2.5ms idle=116.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:09:22.109 [debug] QUERY OK source="media_items" db=3.7ms idle=73.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] 15:09:22.113 [debug] QUERY OK source="media_metadata" db=2.7ms idle=15.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [44] 15:09:22.116 [debug] QUERY OK source="media_profiles" db=2.4ms idle=14.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:09:22.119 [debug] QUERY OK source="settings" db=2.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 [] 15:09:22.121 [debug] QUERY OK source="settings" db=2.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 [] 15:09:22.123 [debug] Running yt-dlp command for action: get_downloadable_status 15:09:22.126 [debug] QUERY OK source="settings" db=2.3ms idle=14.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:09:22.129 [debug] QUERY OK source="settings" db=2.3ms idle=13.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:09:22.132 [debug] QUERY OK source="settings" db=2.6ms 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 [] 15:09:22.132 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=iEDnzk_XAfM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8c/dc/8cdc4e92ec325a19a53140d68090f646da59be2b311dd93eb1a1114a420cfb1c.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:09:48.337 [info] {"source":"oban","duration":4344,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:00.242 [info] {"source":"oban","duration":258,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:10:18.342 [info] {"source":"oban","duration":4639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:48.347 [info] {"source":"oban","duration":4353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:58.461 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=iEDnzk_XAfM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8c/dc/8cdc4e92ec325a19a53140d68090f646da59be2b311dd93eb1a1114a420cfb1c.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] iEDnzk_XAfM: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] iEDnzk_XAfM: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] iEDnzk_XAfM: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:10:58.462 [debug] Running yt-dlp command for action: download 15:10:58.465 [debug] QUERY OK source="settings" db=2.7ms idle=990.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:58.467 [debug] QUERY OK source="settings" db=2.4ms idle=993.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:58.470 [debug] QUERY OK source="settings" db=2.4ms idle=996.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:58.471 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=iEDnzk_XAfM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e31 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e31 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8c/53/8c539494f0ab33bb30956f2c29f851f767df999aac50d01d66bed18d9b6077a8.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:11:00.243 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:11:18.352 [info] {"source":"oban","duration":4324,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:48.355 [info] {"source":"oban","duration":2727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:00.244 [info] {"source":"oban","duration":308,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:12:18.359 [info] {"source":"oban","duration":3680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:48.363 [info] {"source":"oban","duration":4109,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:00.245 [info] {"source":"oban","duration":285,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:13:18.373 [info] {"source":"oban","duration":8703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:40.463 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=iEDnzk_XAfM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e31 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e31 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8c/53/8c539494f0ab33bb30956f2c29f851f767df999aac50d01d66bed18d9b6077a8.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] iEDnzk_XAfM: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] iEDnzk_XAfM: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] iEDnzk_XAfM: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:13:40.544 [debug] Running yt-dlp command for action: download_thumbnail 15:13:40.550 [debug] QUERY OK source="settings" db=2.7ms idle=1067.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:13:40.553 [debug] QUERY OK source="settings" db=2.1ms idle=1070.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:13:40.555 [debug] QUERY OK source="settings" db=2.2ms idle=1073.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:13:40.556 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=iEDnzk_XAfM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/44/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/06/52/0652c487147267fdb7b751aa60ace5857f44c67d734ed3885e045fa1ee114672.json --sleep-requests 15 --sleep-interval 11 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:13:48.379 [info] {"source":"oban","duration":4679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:00.246 [info] {"source":"oban","duration":323,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:14:18.383 [info] {"source":"oban","duration":3928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:48.387 [info] {"source":"oban","duration":3168,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:00.247 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:15:18.392 [info] {"source":"oban","duration":3399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:21.245 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=iEDnzk_XAfM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/44/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/06/52/0652c487147267fdb7b751aa60ace5857f44c67d734ed3885e045fa1ee114672.json --sleep-requests 15 --sleep-interval 11 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] iEDnzk_XAfM: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] iEDnzk_XAfM: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] iEDnzk_XAfM: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:15:21.246 [debug] QUERY OK db=0.0ms idle=1762.3ms begin [] 15:15:21.270 [debug] QUERY OK source="media_items" db=24.0ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 19:13:40Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e31 - Minecraft_-_Survival_Island_Part_4_-_Other_breads_are_available.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e31 - Minecraft_-_Survival_Island_Part_4_-_Other_breads_are_available.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e31 - Minecraft_-_Survival_Island_Part_4_-_Other_breads_are_available.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e31 - Minecraft_-_Survival_Island_Part_4_-_Other_breads_are_available-thumb.jpg", ~U[2025-10-27 19:15:21Z], 44] 15:15:21.274 [debug] QUERY OK source="media_metadata" db=3.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/44/metadata.json.gz", "/config/metadata/media_items/44/thumbnail.jpg", 44, ~U[2025-10-27 19:15:21Z], ~U[2025-10-27 19:15:21Z]] 15:15:21.335 [debug] QUERY OK db=60.9ms commit [] 15:15:21.411 [debug] QUERY OK source="media_items" db=73.2ms idle=1854.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [109430536, ~U[2025-10-27 19:15:21Z], 44] 15:15:21.413 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:15:21.457 [info] {"args":{"id":44},"id":36,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":359317524,"event":"job:stop","queue_time":1690037664,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:15:21.525 [info] {"args":{"id":45},"id":37,"meta":{},"system_time":1761592521525224837,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:15:21.529 [debug] QUERY OK source="media_items" db=3.2ms idle=189.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" = ?) [45] 15:15:21.529 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:15:21.532 [debug] QUERY OK source="sources" db=2.7ms idle=118.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:15:21.535 [debug] QUERY OK source="media_profiles" db=2.6ms queue=0.1ms idle=115.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:15:21.539 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=78.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 [45] 15:15:21.542 [debug] QUERY OK source="media_metadata" db=2.2ms idle=15.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [45] 15:15:21.545 [debug] QUERY OK source="media_profiles" db=2.5ms 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] 15:15:21.548 [debug] QUERY OK source="settings" db=2.3ms 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 [] 15:15:21.551 [debug] QUERY OK source="settings" db=2.7ms 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 [] 15:15:21.554 [debug] Running yt-dlp command for action: get_downloadable_status 15:15:21.557 [debug] QUERY OK source="settings" db=2.1ms idle=15.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:15:21.560 [debug] QUERY OK source="settings" db=2.5ms 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 [] 15:15:21.562 [debug] QUERY OK source="settings" db=2.3ms 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 [] 15:15:21.563 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TmOKsR7nxO8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dc/14/dc1411b8af86853110d92726a68272f1a122a1ec5b161c7d0193662200b05c24.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:15:48.396 [info] {"source":"oban","duration":4168,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:00.248 [info] {"source":"oban","duration":265,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:16:18.402 [info] {"source":"oban","duration":5083,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:40.010 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TmOKsR7nxO8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dc/14/dc1411b8af86853110d92726a68272f1a122a1ec5b161c7d0193662200b05c24.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] TmOKsR7nxO8: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] TmOKsR7nxO8: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] TmOKsR7nxO8: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:16:40.010 [debug] Running yt-dlp command for action: download 15:16:40.013 [debug] QUERY OK source="settings" db=2.6ms idle=526.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:16:40.016 [debug] QUERY OK source="settings" db=2.5ms 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 [] 15:16:40.019 [debug] QUERY OK source="settings" db=2.4ms idle=532.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:16:40.019 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TmOKsR7nxO8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e32 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e32 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/19/2a/192a820d1dfd6840eebac1ef44ed928856e1410d29679852f9bb4e60e927be31.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:16:48.408 [info] {"source":"oban","duration":4815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:00.249 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:17:18.413 [info] {"source":"oban","duration":3820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:48.418 [info] {"source":"oban","duration":3876,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:00.250 [info] {"source":"oban","duration":259,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:18:18.424 [info] {"source":"oban","duration":4800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:48.428 [info] {"source":"oban","duration":3062,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:00.251 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:19:18.433 [info] {"source":"oban","duration":3631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:28.948 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TmOKsR7nxO8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e32 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e32 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/19/2a/192a820d1dfd6840eebac1ef44ed928856e1410d29679852f9bb4e60e927be31.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] TmOKsR7nxO8: nsig extraction failed: Some formats may be missing n = k4j_kKbJzt_ZA2LG ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] TmOKsR7nxO8: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] TmOKsR7nxO8: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:19:29.052 [debug] Running yt-dlp command for action: download_thumbnail 15:19:29.056 [debug] QUERY OK source="settings" db=2.5ms idle=1570.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:19:29.059 [debug] QUERY OK source="settings" db=2.4ms idle=1572.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:19:29.063 [debug] QUERY OK source="settings" db=4.0ms idle=1575.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:19:29.064 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TmOKsR7nxO8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/45/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c0/46/c04670003e6982129b6f03d09f0a70957151fa49a693db708a76114955b1a10e.json --sleep-requests 14 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:19:48.439 [info] {"source":"oban","duration":5361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:00.252 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:20:18.443 [info] {"source":"oban","duration":3414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:48.446 [info] {"source":"oban","duration":3243,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:00.253 [info] {"source":"oban","duration":251,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:21:00.758 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TmOKsR7nxO8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/45/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c0/46/c04670003e6982129b6f03d09f0a70957151fa49a693db708a76114955b1a10e.json --sleep-requests 14 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] TmOKsR7nxO8: nsig extraction failed: Some formats may be missing n = tZ2qDbx6Arc9wEdp ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] TmOKsR7nxO8: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] TmOKsR7nxO8: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:21:00.758 [debug] QUERY OK db=0.0ms idle=1274.8ms begin [] 15:21:00.793 [debug] QUERY OK source="media_items" db=34.3ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 19:19:28Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e32 - Minecraft_-_Survival_Island_Part_5_-_Food_and_Shelter_and_Zombies.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e32 - Minecraft_-_Survival_Island_Part_5_-_Food_and_Shelter_and_Zombies.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e32 - Minecraft_-_Survival_Island_Part_5_-_Food_and_Shelter_and_Zombies.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e32 - Minecraft_-_Survival_Island_Part_5_-_Food_and_Shelter_and_Zombies-thumb.jpg", ~U[2025-10-27 19:21:00Z], 45] 15:21:00.797 [debug] QUERY OK source="media_metadata" db=3.7ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/45/metadata.json.gz", "/config/metadata/media_items/45/thumbnail.jpg", 45, ~U[2025-10-27 19:21:00Z], ~U[2025-10-27 19:21:00Z]] 15:21:00.939 [debug] QUERY OK db=142.0ms commit [] 15:21:01.024 [debug] QUERY OK source="media_items" db=82.4ms idle=1457.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [180402925, ~U[2025-10-27 19:21:00Z], 45] 15:21:01.025 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:21:01.099 [info] {"args":{"id":45},"id":37,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":339500614,"event":"job:stop","queue_time":2049463693,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:21:01.263 [info] {"args":{"id":46},"id":38,"meta":{},"system_time":1761592861263676742,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:21:01.266 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=324.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" = ?) [46] 15:21:01.267 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:21:01.269 [debug] QUERY OK source="sources" db=2.2ms queue=0.1ms idle=243.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:21:01.272 [debug] QUERY OK source="media_profiles" db=2.4ms idle=170.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:21:01.277 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=167.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 [46] 15:21:01.280 [debug] QUERY OK source="media_metadata" db=2.4ms idle=14.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [46] 15:21:01.283 [debug] QUERY OK source="media_profiles" db=2.2ms idle=14.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:21:01.286 [debug] QUERY OK source="settings" db=2.1ms 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 [] 15:21:01.289 [debug] QUERY OK source="settings" db=2.6ms idle=13.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:01.291 [debug] Running yt-dlp command for action: get_downloadable_status 15:21:01.294 [debug] QUERY OK source="settings" db=2.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 [] 15:21:01.297 [debug] QUERY OK source="settings" db=2.4ms 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 [] 15:21:01.299 [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 [] 15:21:01.300 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RJKl6htBbK4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d6/92/d692d0d401aebd579c53d4093f79d8f811e4c3f23ec5430657169360253f9b29.json --sleep-requests 13 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:21:18.453 [info] {"source":"oban","duration":5592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:48.458 [info] {"source":"oban","duration":4702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:00.254 [info] {"source":"oban","duration":308,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:22:18.464 [info] {"source":"oban","duration":4594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:23.969 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RJKl6htBbK4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d6/92/d692d0d401aebd579c53d4093f79d8f811e4c3f23ec5430657169360253f9b29.json --sleep-requests 13 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] RJKl6htBbK4: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] RJKl6htBbK4: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] RJKl6htBbK4: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:22:23.970 [debug] Running yt-dlp command for action: download 15:22:23.973 [debug] QUERY OK source="settings" db=3.3ms idle=486.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:23.976 [debug] QUERY OK source="settings" db=2.2ms idle=489.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:23.978 [debug] QUERY OK source="settings" db=1.9ms idle=492.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:23.978 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RJKl6htBbK4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e33 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e33 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/42/8f/428f944647663259c6686febfba145f570435eb01268541204bd376502f585ae.json --sleep-requests 12 --sleep-interval 13 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:22:48.468 [info] {"source":"oban","duration":4112,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:00.255 [info] {"source":"oban","duration":324,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:23:18.473 [info] {"source":"oban","duration":3845,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:48.478 [info] {"source":"oban","duration":3404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:00.256 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:24:18.482 [info] {"source":"oban","duration":3299,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:48.487 [info] {"source":"oban","duration":4494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:57.913 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RJKl6htBbK4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e33 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e33 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/42/8f/428f944647663259c6686febfba145f570435eb01268541204bd376502f585ae.json --sleep-requests 12 --sleep-interval 13 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] RJKl6htBbK4: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] RJKl6htBbK4: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] RJKl6htBbK4: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:24:57.979 [debug] Running yt-dlp command for action: download_thumbnail 15:24:57.984 [debug] QUERY OK source="settings" db=2.6ms idle=1497.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:24:57.986 [debug] QUERY OK source="settings" db=2.4ms idle=661.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:24:57.989 [debug] QUERY OK source="settings" db=2.3ms idle=503.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:24:57.990 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RJKl6htBbK4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/46/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/b4/dd/b4ddedcaaa7da93abd7f5b0da5f585ff988fcab40c61321d70b07d8440cda45a.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:25:00.257 [info] {"source":"oban","duration":275,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:25:18.491 [info] {"source":"oban","duration":3696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:48.496 [info] {"source":"oban","duration":4104,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:00.258 [info] {"source":"oban","duration":281,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:26:04.418 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=RJKl6htBbK4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/46/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/b4/dd/b4ddedcaaa7da93abd7f5b0da5f585ff988fcab40c61321d70b07d8440cda45a.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] RJKl6htBbK4: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] RJKl6htBbK4: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] RJKl6htBbK4: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:26:04.419 [debug] QUERY OK db=0.5ms idle=1764.8ms begin [] 15:26:04.440 [debug] QUERY OK source="media_items" db=20.3ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 19:24:57Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e33 - Minecraft_-_Survival_Island_Part_6_-_Burn_you_hellish_fiends_Burn.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e33 - Minecraft_-_Survival_Island_Part_6_-_Burn_you_hellish_fiends_Burn.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e33 - Minecraft_-_Survival_Island_Part_6_-_Burn_you_hellish_fiends_Burn.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e33 - Minecraft_-_Survival_Island_Part_6_-_Burn_you_hellish_fiends_Burn-thumb.jpg", ~U[2025-10-27 19:26:04Z], 46] 15:26:04.449 [debug] QUERY OK source="media_metadata" db=8.3ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/46/metadata.json.gz", "/config/metadata/media_items/46/thumbnail.jpg", 46, ~U[2025-10-27 19:26:04Z], ~U[2025-10-27 19:26:04Z]] 15:26:04.575 [debug] QUERY OK db=125.9ms commit [] 15:26:04.650 [debug] QUERY OK source="media_items" db=72.8ms idle=1093.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [124332779, ~U[2025-10-27 19:26:04Z], 46] 15:26:04.652 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:26:04.693 [info] {"args":{"id":46},"id":38,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":303388805,"event":"job:stop","queue_time":2389109697,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:26:04.743 [info] {"args":{"id":47},"id":39,"meta":{},"system_time":1761593164743676960,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:26:04.747 [debug] QUERY OK source="media_items" db=3.3ms idle=168.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" = ?) [47] 15:26:04.748 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:26:04.751 [debug] QUERY OK source="sources" db=2.8ms idle=97.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:26:04.754 [debug] QUERY OK source="media_profiles" db=2.9ms idle=89.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:26:04.760 [debug] QUERY OK source="media_items" db=4.6ms queue=0.1ms idle=62.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 [47] 15:26:04.766 [debug] QUERY OK source="media_metadata" db=4.8ms idle=17.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [47] 15:26:04.769 [debug] QUERY OK source="media_profiles" db=2.4ms 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] 15:26:04.771 [debug] QUERY OK source="settings" db=2.0ms idle=18.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:26:04.774 [debug] QUERY OK source="settings" db=2.1ms 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 [] 15:26:04.776 [debug] Running yt-dlp command for action: get_downloadable_status 15:26:04.779 [debug] QUERY OK source="settings" db=2.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 [] 15:26:04.782 [debug] QUERY OK source="settings" db=2.5ms 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 [] 15:26:04.785 [debug] QUERY OK source="settings" db=2.6ms 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 [] 15:26:04.785 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DyR0UcQN-1Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2a/3b/2a3b8cf078bda27a1b9d32d558823bb45855b6c2c64501cab046aceb19fee578.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:26:18.502 [info] {"source":"oban","duration":4335,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:48.507 [info] {"source":"oban","duration":5074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:00.259 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:27:03.111 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DyR0UcQN-1Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2a/3b/2a3b8cf078bda27a1b9d32d558823bb45855b6c2c64501cab046aceb19fee578.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] DyR0UcQN-1Q: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] DyR0UcQN-1Q: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] DyR0UcQN-1Q: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:27:03.111 [debug] Running yt-dlp command for action: download 15:27:03.114 [debug] QUERY OK source="settings" db=2.6ms idle=1177.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:03.117 [debug] QUERY OK source="settings" db=2.3ms idle=630.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:03.119 [debug] QUERY OK source="settings" db=2.4ms idle=633.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:03.120 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DyR0UcQN-1Q --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e34 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e34 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0a/9a/0a9ab957a4a273414d7ba95f633d1eb7fddbf24a432decd61f69b9503897f661.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:27:06.546 [info] GET / 15:27:06.546 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:27:06.549 [debug] QUERY OK source="settings" db=3.0ms idle=594.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:06.553 [debug] QUERY OK source="media_profiles" db=2.8ms queue=0.1ms idle=66.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:27:06.555 [debug] QUERY OK source="sources" db=2.4ms queue=0.1ms idle=69.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:27:06.567 [debug] QUERY OK source="media_items" db=11.2ms queue=0.2ms idle=72.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:27:06.571 [debug] QUERY OK source="media_items" db=3.5ms queue=0.2ms idle=84.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:27:06.574 [debug] QUERY OK source="settings" db=2.2ms 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 [] 15:27:06.577 [debug] QUERY OK source="settings" db=2.3ms 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 [] 15:27:06.580 [debug] QUERY OK source="settings" db=2.1ms 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 [] 15:27:06.585 [debug] QUERY OK source="tasks" db=3.5ms idle=14.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"] 15:27:06.588 [debug] QUERY OK source="media_items" db=2.3ms queue=0.2ms idle=13.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [47] 15:27:06.594 [debug] QUERY OK source="media_items" db=4.2ms queue=0.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 (NOT (m0."media_filepath" IS NULL)) [] 15:27:06.603 [debug] QUERY OK source="media_items" db=8.2ms queue=0.4ms idle=17.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:27:06.606 [debug] QUERY OK source="sources" db=2.7ms idle=23.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:27:06.613 [debug] QUERY OK source="media_items" db=3.3ms queue=0.3ms idle=24.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:27:06.617 [debug] QUERY OK source="media_items" db=3.5ms queue=0.4ms idle=25.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] 15:27:06.620 [debug] QUERY OK source="sources" db=2.3ms idle=23.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:27:06.623 [info] Sent 200 in 77ms 15:27:18.512 [info] {"source":"oban","duration":3969,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:48.517 [info] {"source":"oban","duration":3697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:00.260 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:28:18.520 [info] {"source":"oban","duration":3269,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:48.526 [info] {"source":"oban","duration":4765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:00.261 [info] {"source":"oban","duration":300,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:29:18.531 [info] {"source":"oban","duration":3488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:48.535 [info] {"source":"oban","duration":3901,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:00.262 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:30:02.174 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DyR0UcQN-1Q --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e34 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e34 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0a/9a/0a9ab957a4a273414d7ba95f633d1eb7fddbf24a432decd61f69b9503897f661.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] DyR0UcQN-1Q: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] DyR0UcQN-1Q: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] DyR0UcQN-1Q: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:30:02.267 [debug] Running yt-dlp command for action: download_thumbnail 15:30:02.271 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=1770.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:30:02.274 [debug] QUERY OK source="settings" db=2.7ms idle=1383.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:30:02.284 [debug] QUERY OK source="settings" db=9.5ms idle=776.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:30:02.285 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DyR0UcQN-1Q --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/47/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/a3/f9/a3f97c9250d3e236defb7f236f1d6be19f1f7da64426a1fdc59c3f5e828ff8a9.json --sleep-requests 13 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:30:18.540 [info] {"source":"oban","duration":3684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:48.546 [info] {"source":"oban","duration":4526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:00.262 [info] {"source":"oban","duration":251,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:31:18.550 [info] {"source":"oban","duration":3552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:29.710 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DyR0UcQN-1Q --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/47/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/a3/f9/a3f97c9250d3e236defb7f236f1d6be19f1f7da64426a1fdc59c3f5e828ff8a9.json --sleep-requests 13 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] DyR0UcQN-1Q: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] DyR0UcQN-1Q: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] DyR0UcQN-1Q: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:31:29.710 [debug] QUERY OK db=0.1ms idle=1199.8ms begin [] 15:31:29.877 [debug] QUERY OK source="media_items" db=166.0ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 19:30:02Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e34 - Minecraft_-_Survival_Island_Part_7_-_You_don_t_want_to_see_me_getting_wool_from_a_sheep.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e34 - Minecraft_-_Survival_Island_Part_7_-_You_don_t_want_to_see_me_getting_wool_from_a_sheep.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e34 - Minecraft_-_Survival_Island_Part_7_-_You_don_t_want_to_see_me_getting_wool_from_a_sheep.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e34 - Minecraft_-_Survival_Island_Part_7_-_You_don_t_want_to_see_me_getting_wool_from_a_sheep-thumb.jpg", ~U[2025-10-27 19:31:29Z], 47] 15:31:29.881 [debug] QUERY OK source="media_metadata" db=4.1ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/47/metadata.json.gz", "/config/metadata/media_items/47/thumbnail.jpg", 47, ~U[2025-10-27 19:31:29Z], ~U[2025-10-27 19:31:29Z]] 15:31:29.975 [debug] QUERY OK db=93.4ms commit [] 15:31:30.051 [debug] QUERY OK source="media_items" db=73.2ms idle=1466.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [156930218, ~U[2025-10-27 19:31:29Z], 47] 15:31:30.052 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:31:30.093 [info] {"args":{"id":47},"id":39,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":325309260,"event":"job:stop","queue_time":2692698625,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:31:30.144 [info] {"args":{"id":48},"id":40,"meta":{},"system_time":1761593490144353202,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:31:30.148 [debug] QUERY OK source="media_items" db=3.2ms idle=633.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" = ?) [48] 15:31:30.148 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:31:30.151 [debug] QUERY OK source="sources" db=2.6ms idle=173.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:31:30.154 [debug] QUERY OK source="media_profiles" db=2.3ms idle=100.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:31:30.158 [debug] QUERY OK source="media_items" db=3.5ms idle=61.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 [48] 15:31:30.162 [debug] QUERY OK source="media_metadata" db=2.3ms idle=15.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [48] 15:31:30.164 [debug] QUERY OK source="media_profiles" db=2.6ms idle=14.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:31:30.168 [debug] QUERY OK source="settings" db=2.5ms 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 [] 15:31:30.171 [debug] QUERY OK source="settings" db=2.7ms 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 [] 15:31:30.173 [debug] Running yt-dlp command for action: get_downloadable_status 15:31:30.176 [debug] QUERY OK source="settings" db=2.8ms 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 [] 15:31:30.179 [debug] QUERY OK source="settings" db=2.6ms 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 [] 15:31:30.182 [debug] QUERY OK source="settings" db=2.5ms 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 [] 15:31:30.182 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VfT__rMmzDY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/35/4a/354a194c24e322ed5c895138bb7dc96a934f0cc989fdb1f2ea32661bad218268.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:31:48.555 [info] {"source":"oban","duration":4805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:00.264 [info] {"source":"oban","duration":328,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:32:18.561 [info] {"source":"oban","duration":4994,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:33.531 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VfT__rMmzDY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/35/4a/354a194c24e322ed5c895138bb7dc96a934f0cc989fdb1f2ea32661bad218268.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] VfT__rMmzDY: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] VfT__rMmzDY: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] VfT__rMmzDY: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:32:33.532 [debug] Running yt-dlp command for action: download 15:32:33.535 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=1020.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:33.537 [debug] QUERY OK source="settings" db=2.1ms idle=891.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:33.540 [debug] QUERY OK source="settings" db=2.3ms 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 [] 15:32:33.540 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VfT__rMmzDY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e35 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e35 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e1/2d/e12d272e1bf1f433e0f5183b3881dc031d8b144a8e2e53822877c0ca9bafff50.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:32:48.566 [info] {"source":"oban","duration":4178,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:00.265 [info] {"source":"oban","duration":290,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:33:18.572 [info] {"source":"oban","duration":5152,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:48.577 [info] {"source":"oban","duration":3386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:00.266 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:34:18.581 [info] {"source":"oban","duration":3570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:48.586 [info] {"source":"oban","duration":4575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:00.267 [info] {"source":"oban","duration":319,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:35:09.714 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VfT__rMmzDY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e35 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e35 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e1/2d/e12d272e1bf1f433e0f5183b3881dc031d8b144a8e2e53822877c0ca9bafff50.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] VfT__rMmzDY: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] VfT__rMmzDY: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] VfT__rMmzDY: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:35:09.930 [debug] Running yt-dlp command for action: download_thumbnail 15:35:09.934 [debug] QUERY OK source="settings" db=2.4ms idle=1415.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:09.937 [debug] QUERY OK source="settings" db=2.3ms idle=1418.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:09.939 [debug] QUERY OK source="settings" db=2.3ms idle=470.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:09.940 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VfT__rMmzDY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/48/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c6/96/c6961b7bbc1b690ee257d44a4dd58e56386191ad292d61ab5425b156b7d41e8f.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:35:18.589 [info] {"source":"oban","duration":2997,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:48.593 [info] {"source":"oban","duration":3048,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:00.268 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:36:18.598 [info] {"source":"oban","duration":3722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:22.002 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VfT__rMmzDY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/48/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c6/96/c6961b7bbc1b690ee257d44a4dd58e56386191ad292d61ab5425b156b7d41e8f.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] VfT__rMmzDY: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] VfT__rMmzDY: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] VfT__rMmzDY: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:36:22.003 [debug] QUERY OK db=0.1ms idle=1486.4ms begin [] 15:36:22.037 [debug] QUERY OK source="media_items" db=33.7ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 19:35:09Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e35 - Minecraft_-_Survival_Island_Part_8_-_help.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e35 - Minecraft_-_Survival_Island_Part_8_-_help.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e35 - Minecraft_-_Survival_Island_Part_8_-_help.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e35 - Minecraft_-_Survival_Island_Part_8_-_help-thumb.jpg", ~U[2025-10-27 19:36:22Z], 48] 15:36:22.041 [debug] QUERY OK source="media_metadata" db=3.7ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/48/metadata.json.gz", "/config/metadata/media_items/48/thumbnail.jpg", 48, ~U[2025-10-27 19:36:22Z], ~U[2025-10-27 19:36:22Z]] 15:36:22.103 [debug] QUERY OK db=61.0ms commit [] 15:36:22.180 [debug] QUERY OK source="media_items" db=75.0ms idle=1299.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [172860613, ~U[2025-10-27 19:36:22Z], 48] 15:36:22.181 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:36:22.223 [info] {"args":{"id":48},"id":40,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":292037693,"event":"job:stop","queue_time":3018099621,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:36:22.315 [info] {"args":{"id":49},"id":41,"meta":{},"system_time":1761593782315422132,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:36:22.319 [debug] QUERY OK source="media_items" db=3.0ms idle=505.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" = ?) [49] 15:36:22.319 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:36:22.322 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=216.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:36:22.326 [debug] QUERY OK source="media_profiles" db=2.8ms queue=0.1ms idle=142.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:36:22.330 [debug] QUERY OK source="media_items" db=3.5ms idle=103.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 [49] 15:36:22.333 [debug] QUERY OK source="media_metadata" db=2.5ms idle=15.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [49] 15:36:22.336 [debug] QUERY OK source="media_profiles" db=2.7ms idle=15.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:36:22.340 [debug] QUERY OK source="settings" db=2.4ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:22.342 [debug] QUERY OK source="settings" db=2.4ms 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 [] 15:36:22.344 [debug] Running yt-dlp command for action: get_downloadable_status 15:36:22.347 [debug] QUERY OK source="settings" db=2.2ms idle=14.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:22.350 [debug] QUERY OK source="settings" db=2.5ms idle=13.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:22.353 [debug] QUERY OK source="settings" db=2.4ms 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 [] 15:36:22.353 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XD78zk7ke2s --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/58/a4/58a47cbc7ffc9a70b156d384189eefe902411971cf5c2dde8018d2398343915d.json --sleep-requests 11 --sleep-interval 14 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:36:48.605 [info] {"source":"oban","duration":5341,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:00.269 [info] {"source":"oban","duration":279,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:37:18.610 [info] {"source":"oban","duration":4288,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:32.260 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XD78zk7ke2s --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/58/a4/58a47cbc7ffc9a70b156d384189eefe902411971cf5c2dde8018d2398343915d.json --sleep-requests 11 --sleep-interval 14 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] XD78zk7ke2s: nsig extraction failed: Some formats may be missing n = pB7bZlAjnOrRuydO ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] XD78zk7ke2s: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] XD78zk7ke2s: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:37:32.261 [debug] Running yt-dlp command for action: download 15:37:32.264 [debug] QUERY OK source="settings" db=3.2ms idle=1115.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:32.268 [debug] QUERY OK source="settings" db=3.1ms idle=743.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:32.273 [debug] QUERY OK source="settings" db=4.2ms queue=0.2ms idle=746.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:32.274 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XD78zk7ke2s --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e36 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e36 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/89/44/89448d7f7ca89fe96ec31743b7780b0cdd10ef6074b68ee18543c56fb846cfd5.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:37:48.615 [info] {"source":"oban","duration":4461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:00.270 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:38:09.583 [info] GET / 15:38:09.583 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:38:09.585 [info] GET / 15:38:09.585 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:38:09.588 [debug] QUERY OK source="settings" db=4.4ms queue=0.1ms idle=222.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:09.589 [debug] QUERY OK source="settings" db=3.3ms queue=0.1ms idle=63.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:09.591 [debug] QUERY OK source="media_profiles" db=2.1ms queue=0.2ms idle=67.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:38:09.592 [debug] QUERY OK source="media_profiles" db=3.0ms queue=0.1ms idle=67.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:38:09.594 [debug] QUERY OK source="sources" db=1.8ms queue=0.1ms idle=3.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:38:09.594 [debug] QUERY OK source="sources" db=2.7ms idle=70.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:38:09.604 [debug] QUERY OK source="media_items" db=9.3ms idle=3.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:38:09.604 [debug] QUERY OK source="media_items" db=10.3ms idle=5.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:38:09.607 [debug] QUERY OK source="media_items" db=2.8ms idle=10.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:38:09.608 [debug] QUERY OK source="media_items" db=3.6ms queue=0.1ms idle=12.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:38:09.610 [debug] QUERY OK source="settings" db=1.6ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:09.610 [debug] QUERY OK source="settings" db=2.3ms 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 [] 15:38:09.612 [debug] QUERY OK source="settings" db=1.9ms queue=0.2ms idle=5.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:09.613 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:09.615 [debug] QUERY OK source="settings" db=1.8ms queue=0.3ms 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 [] 15:38:09.615 [debug] QUERY OK source="settings" db=1.9ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:09.619 [debug] QUERY OK source="tasks" db=3.3ms idle=5.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:38:09.619 [debug] QUERY OK source="tasks" db=3.4ms idle=3.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:38:09.622 [debug] QUERY OK source="media_items" db=2.0ms idle=6.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [49] 15:38:09.623 [debug] QUERY OK source="media_items" db=3.2ms idle=4.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [49] 15:38:09.626 [debug] QUERY OK source="media_items" db=1.9ms idle=4.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:38:09.626 [debug] QUERY OK source="media_items" db=3.0ms idle=7.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:38:09.629 [debug] QUERY OK source="media_items" db=2.9ms 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 (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:38:09.635 [debug] QUERY OK source="media_items" db=8.2ms 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] 15:38:09.637 [debug] QUERY OK source="sources" db=1.4ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:38:09.638 [debug] QUERY OK source="sources" db=3.8ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:38:09.646 [debug] QUERY OK source="media_items" db=3.7ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:09.646 [debug] QUERY OK source="media_items" db=3.7ms idle=13.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:38:09.653 [debug] QUERY OK source="media_items" db=6.6ms 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:38:09.655 [debug] QUERY OK source="media_items" db=7.9ms 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] 15:38:09.659 [debug] QUERY OK source="sources" db=4.1ms idle=17.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:38:09.660 [debug] QUERY OK source="sources" db=4.4ms queue=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:38:09.663 [info] Sent 200 in 78ms 15:38:09.664 [info] Sent 200 in 80ms 15:38:18.619 [info] {"source":"oban","duration":3927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:48.624 [info] {"source":"oban","duration":3527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:00.271 [info] {"source":"oban","duration":340,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:39:18.628 [info] {"source":"oban","duration":3531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:48.632 [info] {"source":"oban","duration":3600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:59.922 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XD78zk7ke2s --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e36 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e36 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/89/44/89448d7f7ca89fe96ec31743b7780b0cdd10ef6074b68ee18543c56fb846cfd5.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] XD78zk7ke2s: nsig extraction failed: Some formats may be missing n = g8eOBDzXrAkuCQSR ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] XD78zk7ke2s: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] XD78zk7ke2s: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:39:59.994 [debug] Running yt-dlp command for action: download_thumbnail 15:39:59.997 [debug] QUERY OK source="settings" db=2.4ms idle=1473.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:40:00.000 [debug] QUERY OK source="settings" db=2.4ms idle=1476.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:40:00.004 [debug] QUERY OK source="settings" db=2.5ms idle=1028.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:40:00.004 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XD78zk7ke2s --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/49/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/03/59/0359fc723af27aa1e3b11df13433f9f9e717a9403a3378cdb24e6ba73d233ae0.json --sleep-requests 12 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:40:00.272 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:40:18.636 [info] {"source":"oban","duration":3479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:48.641 [info] {"source":"oban","duration":4594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:00.273 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:41:18.644 [info] {"source":"oban","duration":2635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:20.404 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XD78zk7ke2s --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/49/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/03/59/0359fc723af27aa1e3b11df13433f9f9e717a9403a3378cdb24e6ba73d233ae0.json --sleep-requests 12 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] XD78zk7ke2s: nsig extraction failed: Some formats may be missing n = hv1Li5jDy-854ofI ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] XD78zk7ke2s: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] XD78zk7ke2s: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:41:20.405 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1760.7ms begin [] 15:41:20.430 [debug] QUERY OK source="media_items" db=24.6ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 19:39:59Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e36 - Minecraft_-_Survival_Island_Part_9_-_Challenges_Complete.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e36 - Minecraft_-_Survival_Island_Part_9_-_Challenges_Complete.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e36 - Minecraft_-_Survival_Island_Part_9_-_Challenges_Complete.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e36 - Minecraft_-_Survival_Island_Part_9_-_Challenges_Complete-thumb.jpg", ~U[2025-10-27 19:41:20Z], 49] 15:41:20.434 [debug] QUERY OK source="media_metadata" db=4.0ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/49/metadata.json.gz", "/config/metadata/media_items/49/thumbnail.jpg", 49, ~U[2025-10-27 19:41:20Z], ~U[2025-10-27 19:41:20Z]] 15:41:20.494 [debug] QUERY OK db=59.8ms commit [] 15:41:20.562 [debug] QUERY OK source="media_items" db=65.4ms idle=1132.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [139979738, ~U[2025-10-27 19:41:20Z], 49] 15:41:20.563 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:41:20.604 [info] {"args":{"id":49},"id":41,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":298248526,"event":"job:stop","queue_time":3310228678,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:41:20.695 [info] {"args":{"id":50},"id":42,"meta":{},"system_time":1761594080695602113,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:41:20.698 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=327.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" = ?) [50] 15:41:20.699 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:41:20.702 [debug] QUERY OK source="sources" db=2.4ms queue=0.1ms idle=204.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:41:20.704 [debug] QUERY OK source="media_profiles" db=2.3ms idle=140.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:41:20.709 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=100.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 [50] 15:41:20.713 [debug] QUERY OK source="media_metadata" db=2.5ms idle=14.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [50] 15:41:20.716 [debug] QUERY OK source="media_profiles" db=2.6ms 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] 15:41:20.719 [debug] QUERY OK source="settings" db=2.5ms 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 [] 15:41:20.721 [debug] QUERY OK source="settings" db=2.1ms 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 [] 15:41:20.723 [debug] Running yt-dlp command for action: get_downloadable_status 15:41:20.726 [debug] QUERY OK source="settings" db=2.4ms 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 [] 15:41:20.729 [debug] QUERY OK source="settings" db=2.5ms 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 [] 15:41:20.731 [debug] QUERY OK source="settings" db=2.3ms 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 [] 15:41:20.732 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Rsz66Qqgd50 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/21/7f/217f6138d5d6a86d35c2321fe938dcd4ac01a0706e552b2a24492ddad184a20d.json --sleep-requests 13 --sleep-interval 11 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:41:48.650 [info] {"source":"oban","duration":4640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:00.274 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:42:18.659 [info] {"source":"oban","duration":7975,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:42.668 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Rsz66Qqgd50 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/21/7f/217f6138d5d6a86d35c2321fe938dcd4ac01a0706e552b2a24492ddad184a20d.json --sleep-requests 13 --sleep-interval 11 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] Rsz66Qqgd50: nsig extraction failed: Some formats may be missing n = wBqtbbxY6wmR4ffN ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] Rsz66Qqgd50: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] Rsz66Qqgd50: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:42:42.668 [debug] Running yt-dlp command for action: download 15:42:42.671 [debug] QUERY OK source="settings" db=2.6ms idle=839.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:42.674 [debug] QUERY OK source="settings" db=2.3ms idle=150.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:42.676 [debug] QUERY OK source="settings" db=2.0ms idle=152.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:42.677 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Rsz66Qqgd50 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e37 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e37 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e4/13/e413b717bb167908ad1d1b82055b14c1cd3aae2a6edaf280d95f7c35cc07a882.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:42:48.665 [info] {"source":"oban","duration":4875,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:00.275 [info] {"source":"oban","duration":265,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:43:18.670 [info] {"source":"oban","duration":3678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:48.675 [info] {"source":"oban","duration":4710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:00.276 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:44:18.681 [info] {"source":"oban","duration":4946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:48.686 [info] {"source":"oban","duration":3616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:00.277 [info] {"source":"oban","duration":293,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:45:18.690 [info] {"source":"oban","duration":3620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:39.402 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Rsz66Qqgd50 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e37 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e37 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e4/13/e413b717bb167908ad1d1b82055b14c1cd3aae2a6edaf280d95f7c35cc07a882.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] Rsz66Qqgd50: nsig extraction failed: Some formats may be missing n = Pyyft_mGALN-Tbcl ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] Rsz66Qqgd50: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] Rsz66Qqgd50: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:45:39.505 [debug] Running yt-dlp command for action: download_thumbnail 15:45:39.509 [debug] QUERY OK source="settings" db=3.0ms idle=984.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:39.516 [debug] QUERY OK source="settings" db=5.9ms queue=0.1ms idle=988.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:39.521 [debug] QUERY OK source="settings" db=5.3ms queue=0.1ms idle=994.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:39.522 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Rsz66Qqgd50 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/50/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/0f/5c/0f5cfa31bfc4164977b37fb54ffc199c8308dd394b4516d08e23ec2c925a2697.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:45:48.693 [info] {"source":"oban","duration":3101,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:00.278 [info] {"source":"oban","duration":289,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:46:18.698 [info] {"source":"oban","duration":3653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:48.702 [info] {"source":"oban","duration":3412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:00.278 [info] {"source":"oban","duration":280,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:47:18.468 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Rsz66Qqgd50 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/50/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/0f/5c/0f5cfa31bfc4164977b37fb54ffc199c8308dd394b4516d08e23ec2c925a2697.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] Rsz66Qqgd50: nsig extraction failed: Some formats may be missing n = sU4lcDfWwQ16pmlb ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] Rsz66Qqgd50: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] Rsz66Qqgd50: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:47:18.469 [debug] QUERY OK db=0.0ms idle=1947.7ms begin [] 15:47:18.498 [debug] QUERY OK source="media_items" db=28.6ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 19:45:39Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e37 - Minecraft_-_Survival_Island_Part_10_-_The_Curator_s_Lost_Treasure.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e37 - Minecraft_-_Survival_Island_Part_10_-_The_Curator_s_Lost_Treasure.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e37 - Minecraft_-_Survival_Island_Part_10_-_The_Curator_s_Lost_Treasure.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e37 - Minecraft_-_Survival_Island_Part_10_-_The_Curator_s_Lost_Treasure-thumb.jpg", ~U[2025-10-27 19:47:18Z], 50] 15:47:18.502 [debug] QUERY OK source="media_metadata" db=3.5ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/50/metadata.json.gz", "/config/metadata/media_items/50/thumbnail.jpg", 50, ~U[2025-10-27 19:47:18Z], ~U[2025-10-27 19:47:18Z]] 15:47:18.563 [debug] QUERY OK db=60.5ms commit [] 15:47:18.635 [debug] QUERY OK source="media_items" db=68.5ms idle=1045.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [141319686, ~U[2025-10-27 19:47:18Z], 50] 15:47:18.637 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:47:18.718 [info] {"args":{"id":50},"id":42,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":357941573,"event":"job:stop","queue_time":3608610672,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:47:18.725 [info] {"source":"oban","duration":23153,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:18.786 [info] {"args":{"id":51},"id":43,"meta":{},"system_time":1761594438786411433,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:47:18.789 [debug] QUERY OK source="media_items" db=3.0ms idle=223.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [51] 15:47:18.790 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:47:18.793 [debug] QUERY OK source="sources" db=2.6ms idle=154.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:47:18.796 [debug] QUERY OK source="media_profiles" db=2.8ms queue=0.1ms 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] 15:47:18.800 [debug] QUERY OK source="media_items" db=3.7ms idle=71.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] 15:47:18.804 [debug] QUERY OK source="media_metadata" db=2.4ms idle=15.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [51] 15:47:18.807 [debug] QUERY OK source="media_profiles" db=2.6ms idle=14.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:47:18.810 [debug] QUERY OK source="settings" db=2.4ms 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 [] 15:47:18.813 [debug] QUERY OK source="settings" db=2.3ms 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:47:18.814 [debug] Running yt-dlp command for action: get_downloadable_status 15:47:18.818 [debug] QUERY OK source="settings" db=2.2ms 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 [] 15:47:18.820 [debug] QUERY OK source="settings" db=2.4ms 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 [] 15:47:18.823 [debug] QUERY OK source="settings" db=2.5ms 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 [] 15:47:18.824 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZvaOr6b9yYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/27/e6/27e666e9f598ce0e006c4f0d78c2ffed7134679ce93090681c5623d8958c5c32.json --sleep-requests 13 --sleep-interval 15 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:47:48.730 [info] {"source":"oban","duration":3914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:00.280 [info] {"source":"oban","duration":295,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:48:18.737 [info] {"source":"oban","duration":5241,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:41.733 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZvaOr6b9yYk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/27/e6/27e666e9f598ce0e006c4f0d78c2ffed7134679ce93090681c5623d8958c5c32.json --sleep-requests 13 --sleep-interval 15 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] ZvaOr6b9yYk: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] ZvaOr6b9yYk: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] ZvaOr6b9yYk: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:48:41.733 [debug] Running yt-dlp command for action: download 15:48:41.737 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=1211.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:48:41.739 [debug] QUERY OK source="settings" db=2.2ms idle=1215.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:48:41.742 [debug] QUERY OK source="settings" db=2.4ms idle=1217.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:48:41.743 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZvaOr6b9yYk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e38 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e38 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9b/9c/9b9c4aad7cf47ea1a8efaa9e071b65e350a2a9bcf0be55162e5a7c41095d1722.json --sleep-requests 13 --sleep-interval 15 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:48:48.743 [info] {"source":"oban","duration":5603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:00.280 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:49:18.746 [info] {"source":"oban","duration":3147,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:48.751 [info] {"source":"oban","duration":3404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:56.904 [info] HEAD / 15:49:56.904 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:49:56.907 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=1383.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:49:56.910 [debug] QUERY OK source="media_profiles" db=2.8ms idle=723.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:49:56.913 [debug] QUERY OK source="sources" db=2.4ms idle=389.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:49:56.923 [debug] QUERY OK source="media_items" db=10.0ms idle=391.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:49:56.927 [debug] QUERY OK source="media_items" db=3.3ms idle=402.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:49:56.930 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=20.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:49:56.933 [debug] QUERY OK source="settings" db=2.3ms idle=20.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:49:56.936 [debug] QUERY OK source="settings" db=2.0ms idle=20.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:49:56.943 [debug] QUERY OK source="tasks" db=4.1ms idle=15.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:49:56.946 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=16.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [51] 15:49:56.952 [debug] QUERY OK source="media_items" db=4.3ms idle=17.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)) [] 15:49:56.960 [debug] QUERY OK source="media_items" db=7.2ms idle=19.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:49:56.963 [debug] QUERY OK source="sources" db=2.0ms idle=24.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:49:56.968 [debug] QUERY OK source="media_items" db=2.4ms idle=22.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:49:56.972 [debug] QUERY OK source="media_items" db=4.0ms 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] 15:49:56.975 [debug] QUERY OK source="sources" db=2.3ms idle=20.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:49:56.979 [info] Sent 200 in 74ms 15:49:57.843 [info] GET / 15:49:57.843 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:49:57.846 [debug] QUERY OK source="settings" db=2.3ms idle=880.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:49:57.849 [debug] QUERY OK source="media_profiles" db=2.7ms idle=878.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:49:57.852 [debug] QUERY OK source="sources" db=2.7ms idle=877.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:49:57.861 [debug] QUERY OK source="media_items" db=9.4ms idle=877.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:49:57.867 [debug] QUERY OK source="media_items" db=4.6ms idle=673.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:49:57.869 [debug] QUERY OK source="settings" db=2.3ms 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 [] 15:49:57.872 [debug] QUERY OK source="settings" db=2.4ms idle=20.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:49:57.875 [debug] QUERY OK source="settings" db=2.3ms idle=21.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:49:57.880 [debug] QUERY OK source="tasks" db=3.6ms idle=15.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:49:57.883 [debug] QUERY OK source="media_items" db=2.4ms idle=13.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [51] 15:49:57.889 [debug] QUERY OK source="media_items" db=4.5ms 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 (m0."media_filepath" IS NULL)) [] 15:49:57.893 [debug] QUERY OK source="media_items" db=3.2ms 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] 15:49:57.896 [debug] QUERY OK source="sources" db=3.0ms idle=17.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:49:57.903 [debug] QUERY OK source="media_items" db=3.6ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:49:57.908 [debug] QUERY OK source="media_items" db=4.3ms idle=20.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] 15:49:57.913 [debug] QUERY OK source="sources" db=3.5ms 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] 15:49:57.916 [info] Sent 200 in 73ms 15:50:00.282 [info] {"source":"oban","duration":317,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:50:18.755 [info] {"source":"oban","duration":3411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:48.760 [info] {"source":"oban","duration":4741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:00.283 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:51:18.765 [info] {"source":"oban","duration":4187,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:37.511 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZvaOr6b9yYk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e38 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e38 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9b/9c/9b9c4aad7cf47ea1a8efaa9e071b65e350a2a9bcf0be55162e5a7c41095d1722.json --sleep-requests 13 --sleep-interval 15 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] ZvaOr6b9yYk: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] ZvaOr6b9yYk: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] ZvaOr6b9yYk: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:51:37.591 [debug] Running yt-dlp command for action: download_thumbnail 15:51:37.595 [debug] QUERY OK source="settings" db=2.4ms idle=1059.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:37.598 [debug] QUERY OK source="settings" db=2.4ms idle=610.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:37.600 [debug] QUERY OK source="settings" db=2.1ms idle=65.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:37.601 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZvaOr6b9yYk --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/51/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/37/e4/37e4bd41d93f6aa11310d8fb9760d00904f6363de04eb0e7cb9126ab3a56e6da.json --sleep-requests 13 --sleep-interval 11 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:51:48.770 [info] {"source":"oban","duration":3712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:00.284 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:52:18.774 [info] {"source":"oban","duration":3154,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:48.781 [info] {"source":"oban","duration":6181,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:00.286 [info] {"source":"oban","duration":300,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:53:04.394 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZvaOr6b9yYk --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/51/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/37/e4/37e4bd41d93f6aa11310d8fb9760d00904f6363de04eb0e7cb9126ab3a56e6da.json --sleep-requests 13 --sleep-interval 11 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] ZvaOr6b9yYk: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] ZvaOr6b9yYk: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] ZvaOr6b9yYk: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:53:04.395 [debug] QUERY OK db=0.1ms idle=1817.5ms begin [] 15:53:04.426 [debug] QUERY OK source="media_items" db=30.9ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 19:51:37Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e38 - Minecraft_-_Survival_Island_Part_11_-_Up_and_away.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e38 - Minecraft_-_Survival_Island_Part_11_-_Up_and_away.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e38 - Minecraft_-_Survival_Island_Part_11_-_Up_and_away.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e38 - Minecraft_-_Survival_Island_Part_11_-_Up_and_away-thumb.jpg", ~U[2025-10-27 19:53:04Z], 51] 15:53:04.430 [debug] QUERY OK source="media_metadata" db=2.9ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/51/metadata.json.gz", "/config/metadata/media_items/51/thumbnail.jpg", 51, ~U[2025-10-27 19:53:04Z], ~U[2025-10-27 19:53:04Z]] 15:53:04.519 [debug] QUERY OK db=88.9ms commit [] 15:53:04.590 [debug] QUERY OK source="media_items" db=67.5ms idle=990.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [181472927, ~U[2025-10-27 19:53:04Z], 51] 15:53:04.592 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:53:04.642 [info] {"args":{"id":51},"id":43,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":345806420,"event":"job:stop","queue_time":3966724688,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:53:04.700 [info] {"args":{"id":52},"id":44,"meta":{},"system_time":1761594784699968376,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:53:04.704 [debug] QUERY OK source="media_items" db=3.4ms idle=181.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" = ?) [52] 15:53:04.704 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:53:04.707 [debug] QUERY OK source="sources" db=2.5ms idle=114.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:53:04.710 [debug] QUERY OK source="media_profiles" db=2.5ms idle=110.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:53:04.714 [debug] QUERY OK source="media_items" db=3.8ms idle=68.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 [52] 15:53:04.718 [debug] QUERY OK source="media_metadata" db=2.6ms idle=16.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [52] 15:53:04.721 [debug] QUERY OK source="media_profiles" db=2.6ms idle=14.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:53:04.724 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms 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 [] 15:53:04.727 [debug] QUERY OK source="settings" db=2.5ms 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 [] 15:53:04.730 [debug] Running yt-dlp command for action: get_downloadable_status 15:53:04.733 [debug] QUERY OK source="settings" db=2.6ms idle=16.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:53:04.736 [debug] QUERY OK source="settings" db=2.5ms 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 [] 15:53:04.739 [debug] QUERY OK source="settings" db=2.7ms 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 [] 15:53:04.739 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2Gi9-UZKYo4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f3/0e/f30e25d247f67a3078d5b7642fdfd2a481b18c4215211bf1277a24329e91fd69.json --sleep-requests 11 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:53:18.787 [info] {"source":"oban","duration":4408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:48.792 [info] {"source":"oban","duration":4488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:00.287 [info] {"source":"oban","duration":244,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:54:14.666 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2Gi9-UZKYo4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f3/0e/f30e25d247f67a3078d5b7642fdfd2a481b18c4215211bf1277a24329e91fd69.json --sleep-requests 11 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 2Gi9-UZKYo4: nsig extraction failed: Some formats may be missing n = 9CfUK5duD5kWrPJi ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 2Gi9-UZKYo4: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 2Gi9-UZKYo4: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:54:14.667 [debug] Running yt-dlp command for action: download 15:54:14.670 [debug] QUERY OK source="settings" db=2.5ms queue=0.2ms idle=1134.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:54:14.672 [debug] QUERY OK source="settings" db=2.5ms idle=726.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:54:14.675 [debug] QUERY OK source="settings" db=2.4ms idle=140.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:54:14.676 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2Gi9-UZKYo4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e39 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e39 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7a/80/7a80e2ac3265b8ae926f693c666e93e3354fbb2f50812fbbf0205848eeb8bdd2.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:54:18.800 [info] {"source":"oban","duration":7313,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:48.804 [info] {"source":"oban","duration":3870,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:00.288 [info] {"source":"oban","duration":263,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:55:18.810 [info] {"source":"oban","duration":5107,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:48.816 [info] {"source":"oban","duration":5223,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:00.289 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:56:18.822 [info] {"source":"oban","duration":4415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:47.657 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2Gi9-UZKYo4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e39 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e39 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7a/80/7a80e2ac3265b8ae926f693c666e93e3354fbb2f50812fbbf0205848eeb8bdd2.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 2Gi9-UZKYo4: nsig extraction failed: Some formats may be missing n = x9kQLvtThPZQZfD3 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 2Gi9-UZKYo4: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 2Gi9-UZKYo4: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:56:47.726 [debug] Running yt-dlp command for action: download_thumbnail 15:56:47.730 [debug] QUERY OK source="settings" db=2.2ms idle=1194.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:56:47.732 [debug] QUERY OK source="settings" db=2.4ms idle=1197.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:56:47.735 [debug] QUERY OK source="settings" db=2.4ms idle=1200.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:56:47.736 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2Gi9-UZKYo4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/52/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/2a/1b/2a1b9185358024f76361be518d44e6d1d0d0eaad8f5d1aea75c11d41bab89e38.json --sleep-requests 11 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:56:48.826 [info] {"source":"oban","duration":3813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:49.289 [info] GET / 15:56:49.289 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:56:49.292 [debug] QUERY OK source="settings" db=2.8ms idle=1556.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:56:49.295 [debug] QUERY OK source="media_profiles" db=2.9ms idle=1557.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:56:49.298 [debug] QUERY OK source="sources" db=2.7ms idle=763.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:56:49.310 [debug] QUERY OK source="media_items" db=11.4ms idle=571.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:56:49.314 [debug] QUERY OK source="media_items" db=3.7ms idle=484.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:56:49.317 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=22.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:56:49.320 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms 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 [] 15:56:49.323 [debug] QUERY OK source="settings" db=2.2ms idle=22.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:56:49.328 [debug] QUERY OK source="tasks" db=3.7ms idle=14.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"] 15:56:49.332 [debug] QUERY OK source="media_items" db=3.0ms 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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [52] 15:56:49.337 [debug] QUERY OK source="media_items" db=4.3ms 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)) [] 15:56:49.345 [debug] QUERY OK source="media_items" db=7.6ms 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] 15:56:49.348 [debug] QUERY OK source="sources" db=2.5ms idle=22.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:56:49.354 [debug] QUERY OK source="media_items" db=2.9ms idle=22.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:56:49.358 [debug] QUERY OK source="media_items" db=4.3ms idle=22.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] 15:56:49.361 [debug] QUERY OK source="sources" db=2.3ms idle=21.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:56:49.364 [info] Sent 200 in 74ms 15:56:49.952 [info] CONNECTED TO Phoenix.LiveView.Socket in 41µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "C200dBcIHwp4AUs0ATAGPQpDGxBfHxMcB5pLHdPo1y-EfF2jr6zJ-QbF", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:56:50.045 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "IXD8_lOeIxfqgv4WxuaZrNqZ", "media_state" => "downloaded"} 15:56:50.049 [debug] QUERY OK source="media_items" db=3.7ms idle=697.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:56:50.052 [debug] QUERY OK source="media_items" db=2.6ms idle=696.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:56:50.055 [debug] QUERY OK source="sources" db=2.2ms idle=694.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:56:50.055 [debug] Replied in 10ms 15:56:50.058 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "IXD8_lOeIxfqgv4WxuaZrNqZ", "media_state" => "pending"} 15:56:50.068 [debug] QUERY OK source="media_items" db=10.0ms idle=697.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:56:50.071 [debug] QUERY OK source="media_items" db=2.7ms idle=335.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] 15:56:50.074 [debug] QUERY OK source="sources" db=2.4ms idle=22.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:56:50.075 [debug] Replied in 16ms 15:56:50.077 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "IXD8_lOeIxfqgv4WxuaZrNqZ"} 15:56:50.080 [debug] QUERY OK source="tasks" db=2.4ms idle=25.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:56:50.082 [debug] QUERY OK source="media_items" db=2.3ms idle=25.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [52] 15:56:50.083 [debug] Replied in 5ms 15:56:51.856 [info] GET / 15:56:51.856 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:56:51.859 [debug] QUERY OK source="settings" db=2.9ms idle=323.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:56:51.862 [debug] QUERY OK source="media_profiles" db=2.1ms idle=327.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:56:51.864 [debug] QUERY OK source="sources" db=2.5ms idle=329.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:56:51.873 [debug] QUERY OK source="media_items" db=8.2ms idle=332.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:56:51.875 [debug] QUERY OK source="media_items" db=2.0ms idle=131.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:56:51.877 [debug] QUERY OK source="settings" db=1.9ms 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 [] 15:56:51.880 [debug] QUERY OK source="settings" db=2.2ms 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 [] 15:56:51.883 [debug] QUERY OK source="settings" db=2.3ms 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 [] 15:56:51.888 [debug] QUERY OK source="tasks" db=3.4ms idle=11.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"] 15:56:51.890 [debug] QUERY OK source="media_items" db=2.0ms idle=12.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [52] 15:56:51.895 [debug] QUERY OK source="media_items" db=3.9ms 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)) [] 15:56:51.906 [debug] QUERY OK source="media_items" db=10.4ms idle=15.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] 15:56:51.908 [debug] QUERY OK source="sources" db=2.1ms queue=0.1ms idle=23.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:56:51.915 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=24.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:56:51.919 [debug] QUERY OK source="media_items" db=2.7ms idle=26.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:56:51.922 [debug] QUERY OK source="sources" db=2.2ms queue=0.1ms idle=24.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:56:51.925 [info] Sent 200 in 69ms 15:56:52.492 [info] CONNECTED TO Phoenix.LiveView.Socket in 32µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "NiRwPDRIDAEmMSF4GDU3GQVUdSAjan9ZZi6fqy45KsQJtRMZIfAVJ885", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:56:52.586 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "lMFZE184mBp2lgzCL24viRGl", "media_state" => "downloaded"} 15:56:52.590 [debug] QUERY OK source="media_items" db=3.3ms idle=680.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)) [] 15:56:52.593 [debug] QUERY OK source="media_items" db=3.0ms idle=681.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:56:52.596 [debug] QUERY OK source="sources" db=2.5ms idle=678.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:56:52.596 [debug] Replied in 10ms 15:56:52.600 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "lMFZE184mBp2lgzCL24viRGl", "media_state" => "pending"} 15:56:52.603 [debug] QUERY OK source="media_items" db=2.8ms idle=681.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:56:52.606 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=681.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:56:52.609 [debug] QUERY OK source="sources" db=2.1ms idle=16.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:56:52.609 [debug] Replied in 9ms 15:56:52.611 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "lMFZE184mBp2lgzCL24viRGl"} 15:56:52.614 [debug] QUERY OK source="tasks" db=2.4ms idle=18.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"] 15:56:52.617 [debug] QUERY OK source="media_items" db=2.2ms idle=18.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [52] 15:56:52.617 [debug] Replied in 5ms 15:57:00.290 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:57:13.438 [info] GET / 15:57:13.438 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:57:13.441 [debug] QUERY OK source="settings" db=2.9ms 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 [] 15:57:13.444 [debug] QUERY OK source="media_profiles" db=2.5ms idle=909.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:57:13.446 [debug] QUERY OK source="sources" db=2.0ms idle=912.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:57:13.452 [debug] QUERY OK source="media_items" db=5.0ms queue=0.1ms idle=914.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:57:13.455 [debug] QUERY OK source="media_items" db=3.2ms idle=607.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:57:13.458 [debug] QUERY OK source="settings" db=1.8ms 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 [] 15:57:13.460 [debug] QUERY OK source="settings" db=2.2ms 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 [] 15:57:13.463 [debug] QUERY OK source="settings" db=1.9ms queue=0.1ms 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 [] 15:57:13.467 [debug] QUERY OK source="tasks" db=3.4ms 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"] 15:57:13.470 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=12.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [52] 15:57:13.474 [debug] QUERY OK source="media_items" db=2.3ms 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)) [] 15:57:13.477 [debug] QUERY OK source="media_items" db=2.6ms 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 (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:57:13.480 [debug] QUERY OK source="sources" db=2.2ms idle=14.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:57:13.485 [debug] QUERY OK source="media_items" db=2.3ms idle=15.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"))) [] 15:57:13.489 [debug] QUERY OK source="media_items" db=2.8ms 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] 15:57:13.493 [debug] QUERY OK source="sources" db=4.0ms 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] 15:57:13.495 [info] Sent 200 in 57ms 15:57:18.831 [info] {"source":"oban","duration":3994,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:22.501 [info] GET /js/lkk_ch.js 15:57:22.504 [debug] QUERY OK source="settings" db=2.8ms idle=1969.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:57:22.507 [debug] QUERY OK source="settings" db=2.2ms idle=1972.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:57:22.507 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:57:22.508 [error] #PID<0.2978.0> running PinchflatWeb.Endpoint (connection #PID<0.2976.0>, stream id 2) terminated Server: pinchflat.home.johnhollowell.com: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.2976.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 55386}, bindings: %{}, sock: {{172, 18, 0, 22}, 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", "host" => "pinchflat.home.johnhollowell.com", "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" => "91.84.86.2", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "91.84.86.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.2978.0>, params: %{}, path_info: ["js", "lkk_ch"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, 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"}, {"host", "pinchflat.home.johnhollowell.com"}, {"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", "91.84.86.2"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "91.84.86.2"} ], request_path: "/js/lkk_ch.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJxW5pkzLcmvyIAABHh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2976.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 55386}, bindings: %{}, sock: {{172, 18, 0, 22}, 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", "host" => "pinchflat.home.johnhollowell.com", "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" => "91.84.86.2", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "91.84.86.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/lkk_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2976.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/lkk_ch.js", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 55386}, bindings: %{}, sock: {{172, 18, 0, 22}, 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", "host" => "pinchflat.home.johnhollowell.com", "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" => "91.84.86.2", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "91.84.86.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.2978.0>, par (truncated) 15:57:22.606 [info] GET /css/support_parent.css 15:57:22.610 [debug] QUERY OK source="settings" db=2.7ms idle=717.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:57:22.612 [debug] QUERY OK source="settings" db=2.2ms idle=105.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:57:22.612 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:57:22.613 [error] #PID<0.2979.0> running PinchflatWeb.Endpoint (connection #PID<0.2976.0>, stream id 3) terminated Server: pinchflat.home.johnhollowell.com: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.2976.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 55386}, bindings: %{}, sock: {{172, 18, 0, 22}, 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", "host" => "pinchflat.home.johnhollowell.com", "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" => "91.84.86.2", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "91.84.86.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.2979.0>, params: %{}, path_info: ["css", "support_parent"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, 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"}, {"host", "pinchflat.home.johnhollowell.com"}, {"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", "91.84.86.2"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "91.84.86.2"} ], request_path: "/css/support_parent.css", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJxW6CqlR9z3BUAABIB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2976.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 55386}, bindings: %{}, sock: {{172, 18, 0, 22}, 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", "host" => "pinchflat.home.johnhollowell.com", "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" => "91.84.86.2", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "91.84.86.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /css/support_parent (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2976.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/css/support_parent.css", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 55386}, bindings: %{}, sock: {{172, 18, 0, 22}, 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", "host" => "pinchflat.home.johnhollowell.com", "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" => "91.84.86.2", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "91.84.86.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell. (truncated) 15:57:26.008 [info] GET /js/twint_ch.js 15:57:26.012 [debug] QUERY OK source="settings" db=3.4ms idle=1475.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:57:26.015 [debug] QUERY OK source="settings" db=2.6ms queue=0.2ms idle=1479.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:57:26.015 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:57:26.016 [error] #PID<0.2984.0> running PinchflatWeb.Endpoint (connection #PID<0.2976.0>, stream id 6) terminated Server: pinchflat.home.johnhollowell.com: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.2976.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 55386}, bindings: %{}, sock: {{172, 18, 0, 22}, 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", "host" => "pinchflat.home.johnhollowell.com", "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" => "91.84.86.2", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "91.84.86.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.2984.0>, params: %{}, path_info: ["js", "twint_ch"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, 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"}, {"host", "pinchflat.home.johnhollowell.com"}, {"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", "91.84.86.2"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "91.84.86.2"} ], request_path: "/js/twint_ch.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJxXGtmXoXpoT8AABJB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2976.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 55386}, bindings: %{}, sock: {{172, 18, 0, 22}, 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", "host" => "pinchflat.home.johnhollowell.com", "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" => "91.84.86.2", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "91.84.86.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /js/twint_ch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2976.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/js/twint_ch.js", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 55386}, bindings: %{}, sock: {{172, 18, 0, 22}, 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", "host" => "pinchflat.home.johnhollowell.com", "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" => "91.84.86.2", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "91.84.86.2" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.2984.0 (truncated) 15:57:48.837 [info] {"source":"oban","duration":4788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:00.291 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:58:01.470 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=2Gi9-UZKYo4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/52/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/2a/1b/2a1b9185358024f76361be518d44e6d1d0d0eaad8f5d1aea75c11d41bab89e38.json --sleep-requests 11 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 2Gi9-UZKYo4: nsig extraction failed: Some formats may be missing n = PJvF1X7EAD3oJBGS ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 2Gi9-UZKYo4: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 2Gi9-UZKYo4: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:58:01.471 [debug] QUERY OK db=0.2ms idle=1392.6ms begin [] 15:58:01.504 [debug] QUERY OK source="media_items" db=32.5ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 19:56:47Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e39 - Minecraft_-_Shadow_of_Israphel_Part_1_-_Crash_and_Burn.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e39 - Minecraft_-_Shadow_of_Israphel_Part_1_-_Crash_and_Burn.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e39 - Minecraft_-_Shadow_of_Israphel_Part_1_-_Crash_and_Burn.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e39 - Minecraft_-_Shadow_of_Israphel_Part_1_-_Crash_and_Burn-thumb.jpg", ~U[2025-10-27 19:58:01Z], 52] 15:58:01.508 [debug] QUERY OK source="media_metadata" db=3.3ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/52/metadata.json.gz", "/config/metadata/media_items/52/thumbnail.jpg", 52, ~U[2025-10-27 19:58:01Z], ~U[2025-10-27 19:58:01Z]] 15:58:01.571 [debug] QUERY OK db=63.1ms commit [] 15:58:01.647 [debug] QUERY OK source="media_items" db=74.0ms idle=1040.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [79681169, ~U[2025-10-27 19:58:01Z], 52] 15:58:01.648 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:58:01.689 [info] {"args":{"id":52},"id":44,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":296949007,"event":"job:stop","queue_time":4311647697,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:58:01.740 [info] {"args":{"id":53},"id":45,"meta":{},"system_time":1761595081740347880,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:58:01.744 [debug] QUERY OK source="media_items" db=3.0ms idle=207.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" = ?) [53] 15:58:01.744 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:58:01.748 [debug] QUERY OK source="sources" db=3.5ms queue=0.1ms idle=173.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:58:01.753 [debug] QUERY OK source="media_profiles" db=4.5ms queue=0.1ms idle=101.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:58:01.763 [debug] QUERY OK source="media_items" db=9.0ms queue=0.1ms idle=64.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 [53] 15:58:01.767 [debug] QUERY OK source="media_metadata" db=3.0ms idle=24.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [53] 15:58:01.772 [debug] QUERY OK source="media_profiles" db=3.8ms 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] 15:58:01.775 [debug] QUERY OK source="settings" db=3.2ms 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 [] 15:58:01.780 [debug] QUERY OK source="settings" db=4.0ms queue=0.1ms 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 [] 15:58:01.782 [debug] Running yt-dlp command for action: get_downloadable_status 15:58:01.785 [debug] QUERY OK source="settings" db=2.2ms 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 [] 15:58:01.790 [debug] QUERY OK source="settings" db=4.6ms queue=0.1ms idle=18.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:58:01.794 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms 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 [] 15:58:01.795 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FyR1QAHdAoE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/33/ab/33abaf1040f0c84bae36e686286b23c2951f44c09d7105907ef06e98247fb583.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:58:18.844 [info] {"source":"oban","duration":5644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:48.850 [info] {"source":"oban","duration":4569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:00.292 [info] {"source":"oban","duration":338,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:59:18.854 [info] {"source":"oban","duration":4000,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:29.844 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FyR1QAHdAoE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/33/ab/33abaf1040f0c84bae36e686286b23c2951f44c09d7105907ef06e98247fb583.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] FyR1QAHdAoE: nsig extraction failed: Some formats may be missing n = Izk_lOxajQQSW7FH ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] FyR1QAHdAoE: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] FyR1QAHdAoE: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 15:59:29.845 [debug] Running yt-dlp command for action: download 15:59:29.848 [debug] QUERY OK source="settings" db=2.7ms idle=1312.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:59:29.850 [debug] QUERY OK source="settings" db=2.4ms idle=1315.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:59:29.853 [debug] QUERY OK source="settings" db=2.8ms idle=1318.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:59:29.854 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FyR1QAHdAoE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e40 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e40 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/44/1d/441d7ab40b5b612054cec2f79828a1c64b708cf8aebe4aad1d3546dfa17332e7.json --sleep-requests 14 --sleep-interval 15 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:59:48.859 [info] {"source":"oban","duration":3619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:00.293 [info] {"source":"oban","duration":253,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:00:18.864 [info] {"source":"oban","duration":4777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:48.869 [info] {"source":"oban","duration":3301,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:00.294 [info] {"source":"oban","duration":218,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:01:18.874 [info] {"source":"oban","duration":4284,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:48.878 [info] {"source":"oban","duration":3388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:00.294 [info] {"source":"oban","duration":150,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:02:10.494 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FyR1QAHdAoE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e40 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e40 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/44/1d/441d7ab40b5b612054cec2f79828a1c64b708cf8aebe4aad1d3546dfa17332e7.json --sleep-requests 14 --sleep-interval 15 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] FyR1QAHdAoE: nsig extraction failed: Some formats may be missing n = kg4O5DvannPJDtlr ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] FyR1QAHdAoE: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] FyR1QAHdAoE: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:02:10.579 [debug] Running yt-dlp command for action: download_thumbnail 16:02:10.582 [debug] QUERY OK source="settings" db=2.6ms idle=1042.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:02:10.585 [debug] QUERY OK source="settings" db=2.3ms idle=1045.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:02:10.587 [debug] QUERY OK source="settings" db=2.3ms idle=184.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:02:10.588 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FyR1QAHdAoE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/53/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/b2/4f/b24fd01c599c446340a8864a3ab0152e1777415b79814f08262a92922fe76351.json --sleep-requests 11 --sleep-interval 14 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:02:18.882 [info] {"source":"oban","duration":3690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:48.885 [info] {"source":"oban","duration":3265,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:00.296 [info] {"source":"oban","duration":319,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:03:18.891 [info] {"source":"oban","duration":4846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:23.767 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=FyR1QAHdAoE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/53/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/b2/4f/b24fd01c599c446340a8864a3ab0152e1777415b79814f08262a92922fe76351.json --sleep-requests 11 --sleep-interval 14 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] FyR1QAHdAoE: nsig extraction failed: Some formats may be missing n = jwEx90VWciii9r1H ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] FyR1QAHdAoE: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] FyR1QAHdAoE: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:03:23.767 [debug] QUERY OK db=0.1ms idle=1220.7ms begin [] 16:03:23.792 [debug] QUERY OK source="media_items" db=24.7ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 20:02:10Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e40 - Minecraft_-_Shadow_of_Israphel_Part_2_-_The_Road_to_Mistral.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e40 - Minecraft_-_Shadow_of_Israphel_Part_2_-_The_Road_to_Mistral.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e40 - Minecraft_-_Shadow_of_Israphel_Part_2_-_The_Road_to_Mistral.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e40 - Minecraft_-_Shadow_of_Israphel_Part_2_-_The_Road_to_Mistral-thumb.jpg", ~U[2025-10-27 20:03:23Z], 53] 16:03:23.796 [debug] QUERY OK source="media_metadata" db=3.2ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/53/metadata.json.gz", "/config/metadata/media_items/53/thumbnail.jpg", 53, ~U[2025-10-27 20:03:23Z], ~U[2025-10-27 20:03:23Z]] 16:03:23.860 [debug] QUERY OK db=64.1ms commit [] 16:03:23.962 [debug] QUERY OK source="media_items" db=99.6ms idle=1315.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [155187306, ~U[2025-10-27 20:03:23Z], 53] 16:03:23.964 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:03:24.017 [info] {"args":{"id":53},"id":45,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":322224167,"event":"job:stop","queue_time":4608695711,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:03:24.074 [info] {"args":{"id":54},"id":46,"meta":{},"system_time":1761595404074032068,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:03:24.077 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=320.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [54] 16:03:24.078 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:03:24.081 [debug] QUERY OK source="sources" db=2.4ms idle=217.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:03:24.084 [debug] QUERY OK source="media_profiles" db=2.8ms idle=118.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:03:24.088 [debug] QUERY OK source="media_items" db=3.6ms queue=0.1ms idle=67.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 [54] 16:03:24.091 [debug] QUERY OK source="media_metadata" db=2.3ms idle=15.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [54] 16:03:24.095 [debug] QUERY OK source="media_profiles" db=2.7ms idle=14.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:03:24.098 [debug] QUERY OK source="settings" db=2.7ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:03:24.101 [debug] QUERY OK source="settings" db=2.3ms 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 [] 16:03:24.104 [debug] Running yt-dlp command for action: get_downloadable_status 16:03:24.107 [debug] QUERY OK source="settings" db=2.6ms idle=16.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:03:24.110 [debug] QUERY OK source="settings" db=2.6ms 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 [] 16:03:24.113 [debug] QUERY OK source="settings" db=2.6ms 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 [] 16:03:24.113 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3JFSMR0ujgg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/64/39/6439eb239263db7e790ba426d0c2e0e21bd3c31d40b137c1cdc5802836dd5600.json --sleep-requests 14 --sleep-interval 15 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:03:48.897 [info] {"source":"oban","duration":4411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:00.297 [info] {"source":"oban","duration":280,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:04:18.902 [info] {"source":"oban","duration":3816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:48.907 [info] {"source":"oban","duration":4110,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:51.999 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3JFSMR0ujgg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/64/39/6439eb239263db7e790ba426d0c2e0e21bd3c31d40b137c1cdc5802836dd5600.json --sleep-requests 14 --sleep-interval 15 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 3JFSMR0ujgg: nsig extraction failed: Some formats may be missing n = 9tExrIghQOjz2t1X ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 3JFSMR0ujgg: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 3JFSMR0ujgg: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:04:51.999 [debug] Running yt-dlp command for action: download 16:04:52.002 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=1451.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:52.004 [debug] QUERY OK source="settings" db=2.0ms idle=1453.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:52.007 [debug] QUERY OK source="settings" db=2.0ms idle=807.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04:52.007 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3JFSMR0ujgg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e41 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e41 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/25/9c/259c5ce0f80bb35f5c8b8e36f6b948d6060eb37d71d919d93e4775b406aae09a.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:05:00.298 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:05:18.912 [info] {"source":"oban","duration":3750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:48.919 [info] {"source":"oban","duration":5325,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:00.299 [info] {"source":"oban","duration":276,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:06:18.924 [info] {"source":"oban","duration":5206,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:48.929 [info] {"source":"oban","duration":3674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:00.300 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:07:18.932 [info] {"source":"oban","duration":3186,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:27.839 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3JFSMR0ujgg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e41 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e41 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/25/9c/259c5ce0f80bb35f5c8b8e36f6b948d6060eb37d71d919d93e4775b406aae09a.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] 3JFSMR0ujgg: nsig extraction failed: Some formats may be missing n = 0NrabTCmtje7ZuE ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] 3JFSMR0ujgg: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 3JFSMR0ujgg: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:07:27.894 [debug] Running yt-dlp command for action: download_thumbnail 16:07:27.897 [debug] QUERY OK source="settings" db=2.3ms idle=1340.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:07:27.900 [debug] QUERY OK source="settings" db=2.4ms idle=1343.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:07:27.902 [debug] QUERY OK source="settings" db=2.1ms idle=1345.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:07:27.903 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3JFSMR0ujgg --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/54/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/5b/96/5b962ff651416942688a03fd2d833e14f4ced188eed52b4b2e25dcf028d618b3.json --sleep-requests 11 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:07:48.937 [info] {"source":"oban","duration":3864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:00.302 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:08:18.942 [info] {"source":"oban","duration":3348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:40.750 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3JFSMR0ujgg --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/54/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/5b/96/5b962ff651416942688a03fd2d833e14f4ced188eed52b4b2e25dcf028d618b3.json --sleep-requests 11 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 3JFSMR0ujgg: nsig extraction failed: Some formats may be missing n = n_NA02-F_RjpQhjA ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 3JFSMR0ujgg: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 3JFSMR0ujgg: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:08:40.751 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1196.4ms begin [] 16:08:40.782 [debug] QUERY OK source="media_items" db=27.7ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 20:07:27Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e41 - Minecraft_-_Shadow_of_Israphel_Part_3_-_I_DEMAND_YOUR_FINEST_BACON.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e41 - Minecraft_-_Shadow_of_Israphel_Part_3_-_I_DEMAND_YOUR_FINEST_BACON.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e41 - Minecraft_-_Shadow_of_Israphel_Part_3_-_I_DEMAND_YOUR_FINEST_BACON.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e41 - Minecraft_-_Shadow_of_Israphel_Part_3_-_I_DEMAND_YOUR_FINEST_BACON-thumb.jpg", ~U[2025-10-27 20:08:40Z], 54] 16:08:40.797 [debug] QUERY OK source="media_metadata" db=14.7ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/54/metadata.json.gz", "/config/metadata/media_items/54/thumbnail.jpg", 54, ~U[2025-10-27 20:08:40Z], ~U[2025-10-27 20:08:40Z]] 16:08:40.952 [debug] QUERY OK db=154.8ms commit [] 16:08:41.062 [debug] QUERY OK source="media_items" db=106.5ms idle=1400.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [177429508, ~U[2025-10-27 20:08:40Z], 54] 16:08:41.064 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:08:41.130 [info] {"args":{"id":54},"id":46,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":316990230,"event":"job:stop","queue_time":4931023698,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:08:41.214 [info] {"args":{"id":55},"id":47,"meta":{},"system_time":1761595721214078622,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:08:41.217 [debug] QUERY OK source="media_items" db=2.8ms idle=558.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" = ?) [55] 16:08:41.217 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:08:41.220 [debug] QUERY OK source="sources" db=2.3ms idle=265.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:08:41.223 [debug] QUERY OK source="media_profiles" db=2.6ms idle=158.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:08:41.227 [debug] QUERY OK source="media_items" db=3.4ms idle=94.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] 16:08:41.231 [debug] QUERY OK source="media_metadata" db=2.5ms idle=14.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [55] 16:08:41.234 [debug] QUERY OK source="media_profiles" db=2.5ms idle=14.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:08:41.237 [debug] QUERY OK source="settings" db=2.3ms 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 [] 16:08:41.239 [debug] QUERY OK source="settings" db=2.3ms 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 [] 16:08:41.241 [debug] Running yt-dlp command for action: get_downloadable_status 16:08:41.245 [debug] QUERY OK source="settings" db=2.5ms 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 [] 16:08:41.247 [debug] QUERY OK source="settings" db=2.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 [] 16:08:41.250 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=13.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:08:41.251 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=aLUcd9UDzuo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/44/1c/441cb043271999cf5f816ac778199b68fa693d90cbef70ce718179d2fd3e5ac3.json --sleep-requests 14 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:08:48.947 [info] {"source":"oban","duration":4888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:00.303 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:09:18.953 [info] {"source":"oban","duration":4894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:48.961 [info] {"source":"oban","duration":6611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:55.119 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=aLUcd9UDzuo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/44/1c/441cb043271999cf5f816ac778199b68fa693d90cbef70ce718179d2fd3e5ac3.json --sleep-requests 14 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] aLUcd9UDzuo: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] aLUcd9UDzuo: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] aLUcd9UDzuo: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:09:55.119 [debug] Running yt-dlp command for action: download 16:09:55.122 [debug] QUERY OK source="settings" db=2.2ms 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 [] 16:09:55.124 [debug] QUERY OK source="settings" db=2.0ms idle=564.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55.126 [debug] QUERY OK source="settings" db=1.8ms 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 [] 16:09:55.127 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=aLUcd9UDzuo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e42 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e42 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f0/7f/f07f3144fcd2e2de3772bfbdcab88fe73c8df858ae7c70d678d1caf2a4135384.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:10:00.304 [info] {"source":"oban","duration":267,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:10:18.964 [info] {"source":"oban","duration":2874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:48.969 [info] {"source":"oban","duration":3844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:00.305 [info] {"source":"oban","duration":307,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:11:18.975 [info] {"source":"oban","duration":4826,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:48.981 [info] {"source":"oban","duration":4585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:00.306 [info] {"source":"oban","duration":297,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:12:18.985 [info] {"source":"oban","duration":3269,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:48.991 [info] {"source":"oban","duration":5737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:56.815 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=aLUcd9UDzuo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e42 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e42 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f0/7f/f07f3144fcd2e2de3772bfbdcab88fe73c8df858ae7c70d678d1caf2a4135384.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] aLUcd9UDzuo: nsig extraction failed: Some formats may be missing n = pYHgBMEK_OGzht16 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] aLUcd9UDzuo: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] aLUcd9UDzuo: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:12:56.933 [debug] Running yt-dlp command for action: download_thumbnail 16:12:56.937 [debug] QUERY OK source="settings" db=2.4ms idle=376.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56.940 [debug] QUERY OK source="settings" db=2.1ms idle=379.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56.942 [debug] QUERY OK source="settings" db=2.0ms idle=381.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56.942 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=aLUcd9UDzuo --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/55/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/96/36/96364a2587328a60bedd50546d9dac012abb62cec44e76ce70275e36de3065c8.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:13:00.307 [info] {"source":"oban","duration":311,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:13:18.996 [info] {"source":"oban","duration":3440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:49.000 [info] {"source":"oban","duration":3649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:00.308 [info] {"source":"oban","duration":336,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:14:10.448 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=aLUcd9UDzuo --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/55/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/96/36/96364a2587328a60bedd50546d9dac012abb62cec44e76ce70275e36de3065c8.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] aLUcd9UDzuo: nsig extraction failed: Some formats may be missing n = -g7i9FKFKaWK_h8- ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] aLUcd9UDzuo: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] aLUcd9UDzuo: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:14:10.449 [debug] QUERY OK db=0.0ms idle=1890.2ms begin [] 16:14:10.627 [debug] QUERY OK source="media_items" db=178.2ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 20:12:56Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e42 - Minecraft_-_Shadow_of_Israphel_Part_4_-_Proper_Quest.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e42 - Minecraft_-_Shadow_of_Israphel_Part_4_-_Proper_Quest.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e42 - Minecraft_-_Shadow_of_Israphel_Part_4_-_Proper_Quest.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e42 - Minecraft_-_Shadow_of_Israphel_Part_4_-_Proper_Quest-thumb.jpg", ~U[2025-10-27 20:14:10Z], 55] 16:14:10.642 [debug] QUERY OK source="media_metadata" db=13.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/55/metadata.json.gz", "/config/metadata/media_items/55/thumbnail.jpg", 55, ~U[2025-10-27 20:14:10Z], ~U[2025-10-27 20:14:10Z]] 16:14:10.700 [debug] QUERY OK db=58.2ms commit [] 16:14:10.796 [debug] QUERY OK source="media_items" db=93.9ms idle=1143.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [175636956, ~U[2025-10-27 20:14:10Z], 55] 16:14:10.798 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:14:10.855 [info] {"args":{"id":55},"id":47,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":329584134,"event":"job:stop","queue_time":5248135626,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:14:10.945 [info] {"args":{"id":56},"id":48,"meta":{},"system_time":1761596050944818193,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:14:10.948 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=386.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" = ?) [56] 16:14:10.949 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:14:10.952 [debug] QUERY OK source="sources" db=2.8ms idle=248.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:14:10.955 [debug] QUERY OK source="media_profiles" db=2.8ms idle=156.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:14:10.960 [debug] QUERY OK source="media_items" db=3.8ms idle=100.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 [56] 16:14:10.964 [debug] QUERY OK source="media_metadata" db=2.6ms idle=16.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [56] 16:14:10.967 [debug] QUERY OK source="media_profiles" db=2.5ms idle=16.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:14:10.971 [debug] QUERY OK source="settings" db=3.5ms idle=15.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:14:10.974 [debug] QUERY OK source="settings" db=2.4ms 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 [] 16:14:10.975 [debug] Running yt-dlp command for action: get_downloadable_status 16:14:10.978 [debug] QUERY OK source="settings" db=2.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 [] 16:14:10.981 [debug] QUERY OK source="settings" db=2.3ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:14:10.984 [debug] QUERY OK source="settings" db=2.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 [] 16:14:10.984 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ahX3E1wr8SM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/29/e4/29e49a26e2abf514912cd89b258d272b157b7da1aee03a7769029bf9887e93af.json --sleep-requests 15 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:14:19.005 [info] {"source":"oban","duration":4458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:49.010 [info] {"source":"oban","duration":4738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:00.309 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:15:19.016 [info] {"source":"oban","duration":4392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:45.046 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ahX3E1wr8SM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/29/e4/29e49a26e2abf514912cd89b258d272b157b7da1aee03a7769029bf9887e93af.json --sleep-requests 15 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] ahX3E1wr8SM: nsig extraction failed: Some formats may be missing n = n4wL2LsPFCkUx-sz ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] ahX3E1wr8SM: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] ahX3E1wr8SM: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:15:45.046 [debug] Running yt-dlp command for action: download 16:15:45.049 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=484.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:45.053 [debug] QUERY OK source="settings" db=2.7ms idle=487.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:45.055 [debug] QUERY OK source="settings" db=2.2ms idle=490.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:45.056 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ahX3E1wr8SM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e43 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e43 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b3/e6/b3e67d684c538f633db63b9ac0d5a4872799142977addcc323631545fa5890a0.json --sleep-requests 13 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:15:49.021 [info] {"source":"oban","duration":5072,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:00.310 [info] {"source":"oban","duration":331,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:16:19.026 [info] {"source":"oban","duration":3828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:49.032 [info] {"source":"oban","duration":3666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:00.311 [info] {"source":"oban","duration":294,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:17:19.038 [info] {"source":"oban","duration":4306,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:49.046 [info] {"source":"oban","duration":7276,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:00.312 [info] {"source":"oban","duration":266,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:18:19.052 [info] {"source":"oban","duration":5899,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:44.634 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ahX3E1wr8SM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e43 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e43 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b3/e6/b3e67d684c538f633db63b9ac0d5a4872799142977addcc323631545fa5890a0.json --sleep-requests 13 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] ahX3E1wr8SM: nsig extraction failed: Some formats may be missing n = Y7GSbT9VeZe3bj3 ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] ahX3E1wr8SM: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] ahX3E1wr8SM: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:18:44.713 [debug] Running yt-dlp command for action: download_thumbnail 16:18:44.716 [debug] QUERY OK source="settings" db=1.5ms idle=152.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:18:44.717 [debug] QUERY OK source="settings" db=0.5ms idle=154.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:44.720 [debug] QUERY OK source="settings" db=2.6ms idle=154.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:44.720 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ahX3E1wr8SM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/56/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/80/d0/80d0ab83f83fc5fc13c52dcee14e792bb26793eb5415bf835bb5c0aa14cb4d41.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:18:49.058 [info] {"source":"oban","duration":5232,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:00.315 [info] {"source":"oban","duration":2561,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:19:19.062 [info] {"source":"oban","duration":3216,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:49.068 [info] {"source":"oban","duration":4327,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:57.039 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ahX3E1wr8SM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/56/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/80/d0/80d0ab83f83fc5fc13c52dcee14e792bb26793eb5415bf835bb5c0aa14cb4d41.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] ahX3E1wr8SM: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] ahX3E1wr8SM: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] ahX3E1wr8SM: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:19:57.040 [debug] QUERY OK db=0.1ms idle=959.2ms begin [] 16:19:57.076 [debug] QUERY OK source="media_items" db=36.1ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 20:18:44Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e43 - Minecraft_-_Shadow_of_Israphel_Part_5_-_Breakfast_Distraction.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e43 - Minecraft_-_Shadow_of_Israphel_Part_5_-_Breakfast_Distraction.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e43 - Minecraft_-_Shadow_of_Israphel_Part_5_-_Breakfast_Distraction.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e43 - Minecraft_-_Shadow_of_Israphel_Part_5_-_Breakfast_Distraction-thumb.jpg", ~U[2025-10-27 20:19:57Z], 56] 16:19:57.080 [debug] QUERY OK source="media_metadata" db=3.5ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/56/metadata.json.gz", "/config/metadata/media_items/56/thumbnail.jpg", 56, ~U[2025-10-27 20:19:57Z], ~U[2025-10-27 20:19:57Z]] 16:19:57.133 [debug] QUERY OK db=53.0ms commit [] 16:19:57.201 [debug] QUERY OK source="media_items" db=65.0ms idle=573.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [195236041, ~U[2025-10-27 20:19:57Z], 56] 16:19:57.202 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:19:57.243 [info] {"args":{"id":56},"id":48,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":346257905,"event":"job:stop","queue_time":5577861623,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:19:57.303 [info] {"args":{"id":57},"id":49,"meta":{},"system_time":1761596397302817144,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:19:57.306 [debug] QUERY OK source="media_items" db=3.0ms idle=169.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" = ?) [57] 16:19:57.306 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:19:57.309 [debug] QUERY OK source="sources" db=2.5ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:19:57.312 [debug] QUERY OK source="media_profiles" db=2.7ms idle=108.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:19:57.317 [debug] QUERY OK source="media_items" db=3.8ms idle=69.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] 16:19:57.321 [debug] QUERY OK source="media_metadata" db=2.4ms idle=16.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [57] 16:19:57.325 [debug] QUERY OK source="media_profiles" db=3.3ms 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] 16:19:57.328 [debug] QUERY OK source="settings" db=2.8ms 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:19:57.332 [debug] QUERY OK source="settings" db=3.0ms 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:19:57.334 [debug] Running yt-dlp command for action: get_downloadable_status 16:19:57.338 [debug] QUERY OK source="settings" db=3.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 [] 16:19:57.341 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=16.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:19:57.344 [debug] QUERY OK source="settings" db=2.7ms 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:19:57.344 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nzCYc8br0Mw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c0/86/c0867c4dea55f25e145886ce194e686d0a508e578ecf918ea0224c1e7b89df61.json --sleep-requests 11 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:20:00.316 [info] {"source":"oban","duration":308,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:20:19.073 [info] {"source":"oban","duration":5032,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:49.079 [info] {"source":"oban","duration":4332,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:00.317 [info] {"source":"oban","duration":324,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:21:07.617 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nzCYc8br0Mw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c0/86/c0867c4dea55f25e145886ce194e686d0a508e578ecf918ea0224c1e7b89df61.json --sleep-requests 11 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] nzCYc8br0Mw: nsig extraction failed: Some formats may be missing n = fruxsOFQYcw2tTth ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] nzCYc8br0Mw: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] nzCYc8br0Mw: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:21:07.617 [debug] Running yt-dlp command for action: download 16:21:07.620 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=1052.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:21:07.623 [debug] QUERY OK source="settings" db=2.3ms idle=1056.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:21:07.625 [debug] QUERY OK source="settings" db=2.0ms idle=1058.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:21:07.626 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nzCYc8br0Mw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e44 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e44 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8f/1c/8f1cc7ecb2dc09b490b7ba8b917eed9d0f19af288f6ff084f1acb09a1285ab98.json --sleep-requests 13 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:21:19.084 [info] {"source":"oban","duration":4864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:49.089 [info] {"source":"oban","duration":3567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:00.318 [info] {"source":"oban","duration":296,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:22:19.093 [info] {"source":"oban","duration":4148,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:49.098 [info] {"source":"oban","duration":3651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:00.319 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:23:19.101 [info] {"source":"oban","duration":3092,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:49.108 [info] {"source":"oban","duration":5644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:00.320 [info] {"source":"oban","duration":315,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:24:10.513 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nzCYc8br0Mw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e44 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e44 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8f/1c/8f1cc7ecb2dc09b490b7ba8b917eed9d0f19af288f6ff084f1acb09a1285ab98.json --sleep-requests 13 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] nzCYc8br0Mw: nsig extraction failed: Some formats may be missing n = URT2qSA7kycEyHhm ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] nzCYc8br0Mw: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] nzCYc8br0Mw: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:24:10.632 [debug] Running yt-dlp command for action: download_thumbnail 16:24:10.636 [debug] QUERY OK source="settings" db=2.5ms idle=1058.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:24:10.638 [debug] QUERY OK source="settings" db=2.3ms idle=131.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:24:10.641 [debug] QUERY OK source="settings" db=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 [] 16:24:10.641 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nzCYc8br0Mw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/57/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ce/75/ce7552bc480bc3cee6bcab546ba0cc54b12027229ddceafb4dc6e1f94f9cdd99.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:24:19.111 [info] {"source":"oban","duration":3180,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:49.116 [info] {"source":"oban","duration":3514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:00.321 [info] {"source":"oban","duration":294,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:25:19.121 [info] {"source":"oban","duration":4182,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:48.351 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nzCYc8br0Mw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/57/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ce/75/ce7552bc480bc3cee6bcab546ba0cc54b12027229ddceafb4dc6e1f94f9cdd99.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] nzCYc8br0Mw: nsig extraction failed: Some formats may be missing n = gkLbRbxkqOC_c7r- ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] nzCYc8br0Mw: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] nzCYc8br0Mw: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:25:48.351 [debug] QUERY OK db=0.0ms idle=1776.8ms begin [] 16:25:48.404 [debug] QUERY OK source="media_items" db=51.9ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 20:24:10Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e44 - Minecraft_-_Shadow_of_Israphel_Part_6_-_Mission_Impossible.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e44 - Minecraft_-_Shadow_of_Israphel_Part_6_-_Mission_Impossible.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e44 - Minecraft_-_Shadow_of_Israphel_Part_6_-_Mission_Impossible.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e44 - Minecraft_-_Shadow_of_Israphel_Part_6_-_Mission_Impossible-thumb.jpg", ~U[2025-10-27 20:25:48Z], 57] 16:25:48.421 [debug] QUERY OK source="media_metadata" db=17.1ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/57/metadata.json.gz", "/config/metadata/media_items/57/thumbnail.jpg", 57, ~U[2025-10-27 20:25:48Z], ~U[2025-10-27 20:25:48Z]] 16:25:48.491 [debug] QUERY OK db=69.9ms commit [] 16:25:48.569 [debug] QUERY OK source="media_items" db=74.6ms idle=1919.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [205910906, ~U[2025-10-27 20:25:48Z], 57] 16:25:48.570 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:25:48.629 [info] {"args":{"id":57},"id":49,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":351267935,"event":"job:stop","queue_time":5924249672,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:25:48.687 [info] {"args":{"id":58},"id":50,"meta":{},"system_time":1761596748687040325,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:25:48.691 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=195.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [58] 16:25:48.691 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:25:48.695 [debug] QUERY OK source="sources" db=3.3ms queue=0.2ms idle=122.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:25:48.699 [debug] QUERY OK source="media_profiles" db=3.3ms queue=0.1ms idle=121.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:25:48.703 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=70.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 [58] 16:25:48.707 [debug] QUERY OK source="media_metadata" db=2.6ms idle=18.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [58] 16:25:48.710 [debug] QUERY OK source="media_profiles" db=2.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] 16:25:48.718 [debug] QUERY OK source="settings" db=7.7ms 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 [] 16:25:48.723 [debug] QUERY OK source="settings" db=3.9ms 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 [] 16:25:48.726 [debug] Running yt-dlp command for action: get_downloadable_status 16:25:48.730 [debug] QUERY OK source="settings" db=3.0ms 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 [] 16:25:48.733 [debug] QUERY OK source="settings" db=2.9ms 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 [] 16:25:48.738 [debug] QUERY OK source="settings" db=4.3ms 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 [] 16:25:48.739 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vvFgRcgQ0d4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/42/57/4257a76325037c1af9ec4a7abb15eac1714e606afe08a0361951f5ec901ac245.json --sleep-requests 13 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:25:49.126 [info] {"source":"oban","duration":4820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:00.322 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:26:19.131 [info] {"source":"oban","duration":4273,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:49.137 [info] {"source":"oban","duration":4622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:00.322 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:27:10.907 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vvFgRcgQ0d4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/42/57/4257a76325037c1af9ec4a7abb15eac1714e606afe08a0361951f5ec901ac245.json --sleep-requests 13 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] vvFgRcgQ0d4: nsig extraction failed: Some formats may be missing n = DWDF2SXu1FDqDrH2 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] vvFgRcgQ0d4: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] vvFgRcgQ0d4: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:27:10.908 [debug] Running yt-dlp command for action: download 16:27:10.913 [debug] QUERY OK source="settings" db=4.4ms queue=0.1ms idle=1332.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:27:10.916 [debug] QUERY OK source="settings" db=2.9ms 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 [] 16:27:10.919 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=341.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:27:10.920 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vvFgRcgQ0d4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e45 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e45 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/46/47/4647055e749474b8cfe05900db8d967ceb31c1b099d145a3f4ef16edc040434e.json --sleep-requests 11 --sleep-interval 14 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:27:19.142 [info] {"source":"oban","duration":4900,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:49.147 [info] {"source":"oban","duration":4271,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:00.324 [info] {"source":"oban","duration":287,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:28:19.152 [info] {"source":"oban","duration":3401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:49.156 [info] {"source":"oban","duration":4301,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:00.325 [info] {"source":"oban","duration":539,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:29:19.161 [info] {"source":"oban","duration":3605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:47.292 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vvFgRcgQ0d4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e45 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e45 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/46/47/4647055e749474b8cfe05900db8d967ceb31c1b099d145a3f4ef16edc040434e.json --sleep-requests 11 --sleep-interval 14 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] vvFgRcgQ0d4: nsig extraction failed: Some formats may be missing n = w8pNX3OHeScaaFms ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] vvFgRcgQ0d4: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] vvFgRcgQ0d4: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:29:47.384 [debug] Running yt-dlp command for action: download_thumbnail 16:29:47.387 [debug] QUERY OK source="settings" db=2.3ms idle=808.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:29:47.390 [debug] QUERY OK source="settings" db=2.9ms idle=811.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:29:47.393 [debug] QUERY OK source="settings" db=2.3ms idle=814.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:29:47.394 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vvFgRcgQ0d4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/58/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ca/88/ca888b402ceaabe5991f1228ffe433731ef83adb2704ec0a555ace3c01300320.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:29:49.167 [info] {"source":"oban","duration":5593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:00.326 [info] {"source":"oban","duration":328,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:30:19.171 [info] {"source":"oban","duration":3921,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:49.175 [info] {"source":"oban","duration":3237,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:00.327 [info] {"source":"oban","duration":272,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:31:06.894 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=vvFgRcgQ0d4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/58/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ca/88/ca888b402ceaabe5991f1228ffe433731ef83adb2704ec0a555ace3c01300320.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] vvFgRcgQ0d4: nsig extraction failed: Some formats may be missing n = N15t8Yh4aQeGJYxs ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] vvFgRcgQ0d4: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] vvFgRcgQ0d4: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:31:06.895 [debug] QUERY OK db=0.1ms idle=1315.9ms begin [] 16:31:06.919 [debug] QUERY OK source="media_items" db=23.5ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 20:29:47Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e45 - Minecraft_-_Shadow_of_Israphel_Part_7_-_Reburglarize.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e45 - Minecraft_-_Shadow_of_Israphel_Part_7_-_Reburglarize.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e45 - Minecraft_-_Shadow_of_Israphel_Part_7_-_Reburglarize.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e45 - Minecraft_-_Shadow_of_Israphel_Part_7_-_Reburglarize-thumb.jpg", ~U[2025-10-27 20:31:06Z], 58] 16:31:06.922 [debug] QUERY OK source="media_metadata" db=2.7ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/58/metadata.json.gz", "/config/metadata/media_items/58/thumbnail.jpg", 58, ~U[2025-10-27 20:31:06Z], ~U[2025-10-27 20:31:06Z]] 16:31:07.336 [debug] QUERY OK db=413.1ms commit [] 16:31:07.585 [debug] QUERY OK source="media_items" db=246.2ms queue=0.1ms idle=762.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [154166497, ~U[2025-10-27 20:31:07Z], 58] 16:31:07.587 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:31:07.638 [info] {"args":{"id":58},"id":50,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":318900254,"event":"job:stop","queue_time":6275635017,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:31:07.727 [info] {"args":{"id":59},"id":51,"meta":{},"system_time":1761597067726915714,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:31:07.730 [debug] QUERY OK source="media_items" db=3.0ms idle=391.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" = ?) [59] 16:31:07.731 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:31:07.734 [debug] QUERY OK source="sources" db=2.4ms queue=0.1ms idle=145.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:31:07.737 [debug] QUERY OK source="media_profiles" db=2.8ms idle=144.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:31:07.742 [debug] QUERY OK source="media_items" db=4.4ms idle=98.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 [59] 16:31:07.746 [debug] QUERY OK source="media_metadata" db=2.9ms idle=16.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [59] 16:31:07.749 [debug] QUERY OK source="media_profiles" db=2.7ms idle=16.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:31:07.753 [debug] QUERY OK source="settings" db=3.0ms idle=16.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:31:07.756 [debug] QUERY OK source="settings" db=2.7ms 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 [] 16:31:07.758 [debug] Running yt-dlp command for action: get_downloadable_status 16:31:07.762 [debug] QUERY OK source="settings" db=2.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 [] 16:31:07.765 [debug] QUERY OK source="settings" db=2.6ms 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 [] 16:31:07.768 [debug] QUERY OK source="settings" db=2.4ms 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 [] 16:31:07.768 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IK7hbdLgLOg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2a/c6/2ac6a1b580adecf8228eaf19d66a4331577d2efe009f5cb691dba66e9ead9fb7.json --sleep-requests 12 --sleep-interval 13 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:31:19.180 [info] {"source":"oban","duration":4129,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:49.186 [info] {"source":"oban","duration":4399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:00.328 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:32:19.191 [info] {"source":"oban","duration":4811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:23.778 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IK7hbdLgLOg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2a/c6/2ac6a1b580adecf8228eaf19d66a4331577d2efe009f5cb691dba66e9ead9fb7.json --sleep-requests 12 --sleep-interval 13 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] IK7hbdLgLOg: nsig extraction failed: Some formats may be missing n = l-xnrI2Qwof8di7 ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] IK7hbdLgLOg: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] IK7hbdLgLOg: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:32:23.778 [debug] Running yt-dlp command for action: download 16:32:23.782 [debug] QUERY OK source="settings" db=3.4ms queue=0.1ms idle=1202.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:32:23.787 [debug] QUERY OK source="settings" db=4.0ms idle=1206.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:32:23.790 [debug] QUERY OK source="settings" db=2.7ms idle=829.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:32:23.790 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IK7hbdLgLOg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e46 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e46 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a6/3e/a63e920fff84c28958faf4dd585c6d0e2c26c8eb704f715e9fe9338ee165512c.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:32:49.196 [info] {"source":"oban","duration":3441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:00.329 [info] {"source":"oban","duration":305,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:33:19.200 [info] {"source":"oban","duration":3823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:49.206 [info] {"source":"oban","duration":5027,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:00.330 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:34:19.211 [info] {"source":"oban","duration":3562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:49.215 [info] {"source":"oban","duration":3567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:00.196 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IK7hbdLgLOg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e46 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e46 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a6/3e/a63e920fff84c28958faf4dd585c6d0e2c26c8eb704f715e9fe9338ee165512c.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] IK7hbdLgLOg: nsig extraction failed: Some formats may be missing n = vjYChpGAdV7J2DRr ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] IK7hbdLgLOg: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] IK7hbdLgLOg: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:35:00.268 [debug] Running yt-dlp command for action: download_thumbnail 16:35:00.272 [debug] QUERY OK source="settings" db=2.6ms idle=1680.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:35:00.275 [debug] QUERY OK source="settings" db=2.2ms idle=1683.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:35:00.278 [debug] QUERY OK source="settings" db=2.2ms idle=1559.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:35:00.278 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IK7hbdLgLOg --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/59/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/9b/bb/9bbbe1bbfc88bb456226e5fc0d0d345630eadea477063667be04cc72f6c2c25d.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:35:00.331 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:35:19.220 [info] {"source":"oban","duration":4311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:49.223 [info] {"source":"oban","duration":3135,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:00.332 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:36:15.660 [info] GET / 16:36:15.660 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:36:15.663 [debug] QUERY OK source="settings" db=2.6ms idle=1071.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:36:15.666 [debug] QUERY OK source="media_profiles" db=2.5ms idle=575.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:36:15.669 [debug] QUERY OK source="sources" db=2.7ms idle=77.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:36:15.694 [debug] QUERY OK source="media_items" db=24.0ms queue=0.1ms idle=80.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:36:15.698 [debug] QUERY OK source="media_items" db=4.0ms idle=104.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:36:15.701 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=35.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:36:15.703 [debug] QUERY OK source="settings" db=2.3ms 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 [] 16:36:15.706 [debug] QUERY OK source="settings" db=2.3ms idle=34.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:36:15.711 [debug] QUERY OK source="tasks" db=3.6ms 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"] 16:36:15.714 [debug] QUERY OK source="media_items" db=2.1ms idle=13.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [59] 16:36:15.719 [debug] QUERY OK source="media_items" db=3.6ms 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:36:15.727 [debug] QUERY OK source="media_items" db=7.8ms queue=0.1ms idle=15.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:36:15.730 [debug] QUERY OK source="sources" db=2.3ms queue=0.1ms idle=21.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:36:15.736 [debug] QUERY OK source="media_items" db=2.6ms idle=21.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:36:15.740 [debug] QUERY OK source="media_items" db=4.2ms queue=0.1ms 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:36:15.743 [debug] QUERY OK source="sources" db=2.2ms idle=22.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:36:15.745 [info] Sent 200 in 85ms 16:36:19.228 [info] {"source":"oban","duration":3987,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:20.063 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IK7hbdLgLOg --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/59/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/9b/bb/9bbbe1bbfc88bb456226e5fc0d0d345630eadea477063667be04cc72f6c2c25d.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] IK7hbdLgLOg: nsig extraction failed: Some formats may be missing n = BXPsn_tZsQBlDhOS ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] IK7hbdLgLOg: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] IK7hbdLgLOg: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:36:20.064 [debug] QUERY OK db=0.1ms queue=0.1ms idle=958.5ms begin [] 16:36:20.118 [debug] QUERY OK source="media_items" db=53.5ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 20:35:00Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e46 - Minecraft_-_Shadow_of_Israphel_Part_8_-_Diggy_Diggy_Hole.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e46 - Minecraft_-_Shadow_of_Israphel_Part_8_-_Diggy_Diggy_Hole.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e46 - Minecraft_-_Shadow_of_Israphel_Part_8_-_Diggy_Diggy_Hole.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e46 - Minecraft_-_Shadow_of_Israphel_Part_8_-_Diggy_Diggy_Hole-thumb.jpg", ~U[2025-10-27 20:36:20Z], 59] 16:36:20.122 [debug] QUERY OK source="media_metadata" db=3.6ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/59/metadata.json.gz", "/config/metadata/media_items/59/thumbnail.jpg", 59, ~U[2025-10-27 20:36:20Z], ~U[2025-10-27 20:36:20Z]] 16:36:20.197 [debug] QUERY OK db=74.5ms commit [] 16:36:20.289 [debug] QUERY OK source="media_items" db=89.5ms idle=609.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [170543012, ~U[2025-10-27 20:36:20Z], 59] 16:36:20.290 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:36:20.348 [info] {"args":{"id":59},"id":51,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":312563800,"event":"job:stop","queue_time":6594644701,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:36:20.416 [info] {"args":{"id":60},"id":52,"meta":{},"system_time":1761597380415901155,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:36:20.419 [debug] QUERY OK source="media_items" db=3.0ms idle=297.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" = ?) [60] 16:36:20.419 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:36:20.422 [debug] QUERY OK source="sources" db=2.7ms idle=222.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:36:20.426 [debug] QUERY OK source="media_profiles" db=2.7ms idle=134.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:36:20.430 [debug] QUERY OK source="media_items" db=3.8ms idle=78.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 [60] 16:36:20.434 [debug] QUERY OK source="media_metadata" db=2.7ms idle=16.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [60] 16:36:20.437 [debug] QUERY OK source="media_profiles" db=2.6ms 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] 16:36:20.440 [debug] QUERY OK source="settings" db=2.8ms 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 [] 16:36:20.444 [debug] QUERY OK source="settings" db=3.6ms idle=14.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:36:20.446 [debug] Running yt-dlp command for action: get_downloadable_status 16:36:20.452 [debug] QUERY OK source="settings" db=3.9ms idle=17.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:36:20.459 [debug] QUERY OK source="settings" db=6.7ms idle=17.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:36:20.467 [debug] QUERY OK source="settings" db=7.7ms 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 [] 16:36:20.468 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Whj0mA330pQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/33/d4/33d4834e171aef45b79c2a60f917d5adae41e8fe5675f971116fd4cd6e94423d.json --sleep-requests 14 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:36:49.234 [info] {"source":"oban","duration":4964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:00.333 [info] {"source":"oban","duration":292,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:37:19.239 [info] {"source":"oban","duration":4112,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:48.609 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Whj0mA330pQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/33/d4/33d4834e171aef45b79c2a60f917d5adae41e8fe5675f971116fd4cd6e94423d.json --sleep-requests 14 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] Whj0mA330pQ: nsig extraction failed: Some formats may be missing n = PByhBhwUX04UY-bV ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] Whj0mA330pQ: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] Whj0mA330pQ: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:37:48.609 [debug] Running yt-dlp command for action: download 16:37:48.612 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=1020.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:37:48.614 [debug] QUERY OK source="settings" db=2.0ms idle=1023.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:37:48.617 [debug] QUERY OK source="settings" db=2.0ms idle=75.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:37:48.617 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Whj0mA330pQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e47 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e47 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/48/21/4821883ecedd16698961a985497989e85eca32b749de72166bdafa7099d430b3.json --sleep-requests 13 --sleep-interval 15 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:37:49.245 [info] {"source":"oban","duration":4461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:00.334 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:38:19.250 [info] {"source":"oban","duration":4339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:49.254 [info] {"source":"oban","duration":3942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:00.335 [info] {"source":"oban","duration":277,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:39:19.260 [info] {"source":"oban","duration":4588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:49.263 [info] {"source":"oban","duration":3077,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:00.336 [info] {"source":"oban","duration":309,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:40:19.268 [info] {"source":"oban","duration":3917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:34.533 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Whj0mA330pQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e47 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e47 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/48/21/4821883ecedd16698961a985497989e85eca32b749de72166bdafa7099d430b3.json --sleep-requests 13 --sleep-interval 15 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] Whj0mA330pQ: nsig extraction failed: Some formats may be missing n = aEKBCkodyVMmJaed ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] Whj0mA330pQ: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] Whj0mA330pQ: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:40:34.642 [debug] Running yt-dlp command for action: download_thumbnail 16:40:34.646 [debug] QUERY OK source="settings" db=2.3ms idle=286.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:40:34.648 [debug] QUERY OK source="settings" db=2.3ms idle=55.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:40:34.651 [debug] QUERY OK source="settings" db=2.3ms idle=58.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:40:34.651 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Whj0mA330pQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/60/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ee/c6/eec66adf00389b736488c694eef4814036c281977067c2e02b7ec0288b4a4938.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:40:49.272 [info] {"source":"oban","duration":3047,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:00.337 [info] {"source":"oban","duration":346,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:41:19.277 [info] {"source":"oban","duration":3776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:49.282 [info] {"source":"oban","duration":3589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:54.649 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Whj0mA330pQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/60/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ee/c6/eec66adf00389b736488c694eef4814036c281977067c2e02b7ec0288b4a4938.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] Whj0mA330pQ: nsig extraction failed: Some formats may be missing n = uX8KnjrV-MahEq2P ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] Whj0mA330pQ: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] Whj0mA330pQ: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:41:54.650 [debug] QUERY OK db=0.1ms queue=0.1ms idle=912.4ms begin [] 16:41:54.681 [debug] QUERY OK source="media_items" db=31.0ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 20:40:34Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e47 - Minecraft_-_Shadow_of_Israphel_Part_9_-_The_Abandoned_Mine.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e47 - Minecraft_-_Shadow_of_Israphel_Part_9_-_The_Abandoned_Mine.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e47 - Minecraft_-_Shadow_of_Israphel_Part_9_-_The_Abandoned_Mine.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e47 - Minecraft_-_Shadow_of_Israphel_Part_9_-_The_Abandoned_Mine-thumb.jpg", ~U[2025-10-27 20:41:54Z], 60] 16:41:54.685 [debug] QUERY OK source="media_metadata" db=3.5ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/60/metadata.json.gz", "/config/metadata/media_items/60/thumbnail.jpg", 60, ~U[2025-10-27 20:41:54Z], ~U[2025-10-27 20:41:54Z]] 16:41:54.764 [debug] QUERY OK db=78.5ms commit [] 16:41:54.836 [debug] QUERY OK source="media_items" db=70.0ms idle=175.4ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [132592337, ~U[2025-10-27 20:41:54Z], 60] 16:41:54.838 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:41:54.886 [info] {"args":{"id":60},"id":52,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":334422562,"event":"job:stop","queue_time":6907354649,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:41:54.953 [info] {"args":{"id":61},"id":53,"meta":{},"system_time":1761597714953677479,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:41:54.957 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=189.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" = ?) [61] 16:41:54.957 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:41:54.960 [debug] QUERY OK source="sources" db=2.4ms queue=0.1ms idle=188.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:41:54.963 [debug] QUERY OK source="media_profiles" db=2.7ms queue=0.1ms idle=124.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:41:54.968 [debug] QUERY OK source="media_items" db=4.0ms queue=0.1ms idle=77.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 [61] 16:41:54.972 [debug] QUERY OK source="media_metadata" db=2.5ms idle=16.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [61] 16:41:54.975 [debug] QUERY OK source="media_profiles" db=2.7ms idle=15.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:41:54.978 [debug] QUERY OK source="settings" db=2.3ms idle=15.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:41:54.981 [debug] QUERY OK source="settings" db=2.8ms queue=0.2ms idle=14.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:41:54.984 [debug] Running yt-dlp command for action: get_downloadable_status 16:41:54.988 [debug] QUERY OK source="settings" db=2.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 [] 16:41:54.991 [debug] QUERY OK source="settings" db=2.8ms 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 [] 16:41:54.994 [debug] QUERY OK source="settings" db=2.4ms 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 [] 16:41:54.994 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=E_sIiQdHOrA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7a/3e/7a3ec30d6d26432ea4d5505c0ff98a89515d652c02378ed869bb69c5293e03bf.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:42:00.338 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:42:19.287 [info] {"source":"oban","duration":4193,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:49.292 [info] {"source":"oban","duration":4887,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:00.339 [info] {"source":"oban","duration":278,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:43:05.160 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=E_sIiQdHOrA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7a/3e/7a3ec30d6d26432ea4d5505c0ff98a89515d652c02378ed869bb69c5293e03bf.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] E_sIiQdHOrA: nsig extraction failed: Some formats may be missing n = c6-45kw14mxMY1ih ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] E_sIiQdHOrA: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] E_sIiQdHOrA: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:43:05.161 [debug] Running yt-dlp command for action: download 16:43:05.164 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=1046.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:05.166 [debug] QUERY OK source="settings" db=2.2ms idle=573.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:05.168 [debug] QUERY OK source="settings" db=1.9ms idle=576.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:05.169 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=E_sIiQdHOrA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e48 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e48 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/60/55/60558fa492dff63752e2b910eb1b6e187991a726583058047ed78607fba6abb9.json --sleep-requests 11 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:43:19.297 [info] {"source":"oban","duration":3364,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:49.301 [info] {"source":"oban","duration":3530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:00.340 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:44:19.306 [info] {"source":"oban","duration":4480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:49.311 [info] {"source":"oban","duration":4604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:00.341 [info] {"source":"oban","duration":480,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:45:19.315 [info] {"source":"oban","duration":3616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:37.010 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=E_sIiQdHOrA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e48 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e48 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/60/55/60558fa492dff63752e2b910eb1b6e187991a726583058047ed78607fba6abb9.json --sleep-requests 11 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] E_sIiQdHOrA: nsig extraction failed: Some formats may be missing n = yA6vzPxbVJHbtK_ ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] E_sIiQdHOrA: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] E_sIiQdHOrA: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:45:37.100 [debug] Running yt-dlp command for action: download_thumbnail 16:45:37.103 [debug] QUERY OK source="settings" db=2.5ms idle=509.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:45:37.106 [debug] QUERY OK source="settings" db=2.3ms idle=512.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:45:37.109 [debug] QUERY OK source="settings" db=2.5ms idle=514.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:45:37.109 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=E_sIiQdHOrA --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/61/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/10/af/10afb869adc79f2ac58708c660c6a37b9873d6fcb83a4e1359ee46932be04ff9.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:45:49.319 [info] {"source":"oban","duration":4251,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:00.342 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:46:19.324 [info] {"source":"oban","duration":3968,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:49.328 [info] {"source":"oban","duration":3166,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:00.343 [info] {"source":"oban","duration":324,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:47:08.718 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=E_sIiQdHOrA --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/61/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/10/af/10afb869adc79f2ac58708c660c6a37b9873d6fcb83a4e1359ee46932be04ff9.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] E_sIiQdHOrA: nsig extraction failed: Some formats may be missing n = T212Ys3nveBzjJIY ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] E_sIiQdHOrA: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] E_sIiQdHOrA: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:47:08.719 [debug] QUERY OK db=0.1ms idle=1127.5ms begin [] 16:47:08.733 [debug] QUERY OK source="media_items" db=13.8ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 20:45:37Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e48 - Minecraft_-_Shadow_of_Israphel_Part_10_-_Revelations.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e48 - Minecraft_-_Shadow_of_Israphel_Part_10_-_Revelations.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e48 - Minecraft_-_Shadow_of_Israphel_Part_10_-_Revelations.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e48 - Minecraft_-_Shadow_of_Israphel_Part_10_-_Revelations-thumb.jpg", ~U[2025-10-27 20:47:08Z], 61] 16:47:08.737 [debug] QUERY OK source="media_metadata" db=3.5ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/61/metadata.json.gz", "/config/metadata/media_items/61/thumbnail.jpg", 61, ~U[2025-10-27 20:47:08Z], ~U[2025-10-27 20:47:08Z]] 16:47:08.816 [debug] QUERY OK db=78.2ms commit [] 16:47:08.891 [debug] QUERY OK source="media_items" db=73.2ms idle=335.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [191050315, ~U[2025-10-27 20:47:08Z], 61] 16:47:08.893 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:47:08.934 [info] {"args":{"id":61},"id":53,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":313939399,"event":"job:stop","queue_time":7240892650,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:47:08.984 [info] {"args":{"id":62},"id":54,"meta":{},"system_time":1761598028984342653,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:47:08.988 [debug] QUERY OK source="media_items" db=3.3ms queue=0.1ms idle=392.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" = ?) [62] 16:47:08.988 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:47:08.991 [debug] QUERY OK source="sources" db=2.7ms idle=173.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:47:08.995 [debug] QUERY OK source="media_profiles" db=3.1ms 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] 16:47:08.999 [debug] QUERY OK source="media_items" db=4.2ms idle=61.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 [62] 16:47:09.003 [debug] QUERY OK source="media_metadata" db=2.4ms idle=16.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [62] 16:47:09.006 [debug] QUERY OK source="media_profiles" db=2.6ms 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] 16:47:09.009 [debug] QUERY OK source="settings" db=2.5ms 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 [] 16:47:09.012 [debug] QUERY OK source="settings" db=2.8ms 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 [] 16:47:09.014 [debug] Running yt-dlp command for action: get_downloadable_status 16:47:09.017 [debug] QUERY OK source="settings" db=2.3ms idle=15.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:47:09.020 [debug] QUERY OK source="settings" db=2.1ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:47:09.023 [debug] QUERY OK source="settings" db=2.4ms 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 [] 16:47:09.023 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=80GSvackaxk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/21/a5/21a51671fab6151b7687ece83077320a3dd78f123b3b53cd8e4bc5531bb08dae.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:47:19.333 [info] {"source":"oban","duration":4122,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:49.339 [info] {"source":"oban","duration":4541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:00.344 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:48:19.341 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=80GSvackaxk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/21/a5/21a51671fab6151b7687ece83077320a3dd78f123b3b53cd8e4bc5531bb08dae.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 80GSvackaxk: nsig extraction failed: Some formats may be missing n = Ioj5zee1rWCDYQ0W ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 80GSvackaxk: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 80GSvackaxk: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:48:19.342 [debug] Running yt-dlp command for action: download 16:48:19.344 [debug] QUERY OK source="settings" db=1.8ms queue=0.1ms idle=750.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:48:19.345 [debug] QUERY OK source="settings" db=0.7ms idle=752.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:48:19.346 [info] {"source":"oban","duration":5311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:19.347 [debug] QUERY OK source="settings" db=2.2ms idle=753.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:48:19.348 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=80GSvackaxk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e49 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e49 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/3a/02/3a02dcf01df4d813bde86c0b0a86c7f68c73779a5abb14c1ce7ea3b166237c2b.json --sleep-requests 12 --sleep-interval 13 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:48:49.351 [info] {"source":"oban","duration":4907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:00.345 [info] {"source":"oban","duration":308,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:49:19.356 [info] {"source":"oban","duration":4085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:49.360 [info] {"source":"oban","duration":2950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:00.346 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:50:19.365 [info] {"source":"oban","duration":3563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:49.368 [info] {"source":"oban","duration":3274,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:00.347 [info] {"source":"oban","duration":316,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:51:19.375 [info] {"source":"oban","duration":5455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:28.181 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=80GSvackaxk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e49 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e49 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/3a/02/3a02dcf01df4d813bde86c0b0a86c7f68c73779a5abb14c1ce7ea3b166237c2b.json --sleep-requests 12 --sleep-interval 13 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 80GSvackaxk: nsig extraction failed: Some formats may be missing n = L-O7eeQV1pFOPxYB ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 80GSvackaxk: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 80GSvackaxk: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:51:28.284 [debug] Running yt-dlp command for action: download_thumbnail 16:51:28.291 [debug] QUERY OK source="settings" db=2.3ms idle=1692.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51:28.294 [debug] QUERY OK source="settings" db=2.5ms idle=1695.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51:28.297 [debug] QUERY OK source="settings" db=2.4ms idle=1571.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51:28.297 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=80GSvackaxk --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/62/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/41/25/4125f83116995cb8e4cd09fca5549fac69a6a729eaf6d62c71cbbcd40ce3a089.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:51:49.383 [info] {"source":"oban","duration":7670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:00.348 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:52:19.387 [info] {"source":"oban","duration":3383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:49.391 [info] {"source":"oban","duration":3765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:00.121 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=80GSvackaxk --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/62/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/41/25/4125f83116995cb8e4cd09fca5549fac69a6a729eaf6d62c71cbbcd40ce3a089.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 80GSvackaxk: nsig extraction failed: Some formats may be missing n = LmJI_ROrUreEj8M8 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 80GSvackaxk: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 80GSvackaxk: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:53:00.122 [debug] QUERY OK db=0.1ms idle=1524.6ms begin [] 16:53:00.144 [debug] QUERY OK source="media_items" db=21.1ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 20:51:28Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e49 - Minecraft_-_Shadow_of_Israphel_Part_11_-_The_Crumbling_Ruin.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e49 - Minecraft_-_Shadow_of_Israphel_Part_11_-_The_Crumbling_Ruin.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e49 - Minecraft_-_Shadow_of_Israphel_Part_11_-_The_Crumbling_Ruin.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e49 - Minecraft_-_Shadow_of_Israphel_Part_11_-_The_Crumbling_Ruin-thumb.jpg", ~U[2025-10-27 20:53:00Z], 62] 16:53:00.171 [debug] QUERY OK source="media_metadata" db=26.9ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/62/metadata.json.gz", "/config/metadata/media_items/62/thumbnail.jpg", 62, ~U[2025-10-27 20:53:00Z], ~U[2025-10-27 20:53:00Z]] 16:53:00.249 [debug] QUERY OK db=77.8ms commit [] 16:53:00.353 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:53:00.411 [debug] QUERY OK source="media_items" db=159.5ms idle=1079.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [222100835, ~U[2025-10-27 20:53:00Z], 62] 16:53:00.413 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:53:00.454 [info] {"args":{"id":62},"id":54,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":351429146,"event":"job:stop","queue_time":7554939658,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:53:00.504 [info] {"args":{"id":63},"id":55,"meta":{},"system_time":1761598380504758365,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:53:00.508 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=158.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [63] 16:53:00.509 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:53:00.512 [debug] QUERY OK source="sources" db=2.7ms idle=156.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:53:00.515 [debug] QUERY OK source="media_profiles" db=2.8ms idle=101.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:53:00.519 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=62.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 [63] 16:53:00.523 [debug] QUERY OK source="media_metadata" db=2.2ms idle=16.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [63] 16:53:00.526 [debug] QUERY OK source="media_profiles" db=2.6ms idle=14.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:53:00.529 [debug] QUERY OK source="settings" db=2.0ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:53:00.531 [debug] QUERY OK source="settings" db=2.2ms 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 [] 16:53:00.533 [debug] Running yt-dlp command for action: get_downloadable_status 16:53:00.536 [debug] QUERY OK source="settings" db=2.1ms 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 [] 16:53:00.539 [debug] QUERY OK source="settings" db=2.7ms 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 [] 16:53:00.542 [debug] QUERY OK source="settings" db=2.4ms 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:53:00.542 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3vcnhbHtwJ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fd/ea/fdea058a9af6c57da825368f6f5d9e084a95cbf84ad62a9cedbed22efe97e8a3.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:53:19.397 [info] {"source":"oban","duration":4241,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:49.402 [info] {"source":"oban","duration":4834,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:00.355 [info] {"source":"oban","duration":1133,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:54:19.408 [info] {"source":"oban","duration":4982,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:34.622 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3vcnhbHtwJ0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fd/ea/fdea058a9af6c57da825368f6f5d9e084a95cbf84ad62a9cedbed22efe97e8a3.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 3vcnhbHtwJ0: nsig extraction failed: Some formats may be missing n = d13RYNwtmi7CwPHq ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 3vcnhbHtwJ0: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 3vcnhbHtwJ0: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:54:34.623 [debug] Running yt-dlp command for action: download 16:54:34.625 [debug] QUERY OK source="settings" db=2.4ms idle=1024.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:34.628 [debug] QUERY OK source="settings" db=2.5ms idle=1027.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:34.631 [debug] QUERY OK source="settings" db=2.1ms idle=815.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:34.631 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3vcnhbHtwJ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e50 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e50 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/33/0b/330b184b52b6b36f461ce2482e5bb1d3d80f1ea259fb2fc1bcda5f938bbea9c6.json --sleep-requests 14 --sleep-interval 13 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:54:49.413 [info] {"source":"oban","duration":3998,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:00.356 [info] {"source":"oban","duration":293,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:55:19.418 [info] {"source":"oban","duration":3639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:49.422 [info] {"source":"oban","duration":3542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:00.357 [info] {"source":"oban","duration":274,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:56:19.427 [info] {"source":"oban","duration":4934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:49.432 [info] {"source":"oban","duration":3615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:00.358 [info] {"source":"oban","duration":301,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:57:19.435 [info] {"source":"oban","duration":3156,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:35.129 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3vcnhbHtwJ0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e50 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e50 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/33/0b/330b184b52b6b36f461ce2482e5bb1d3d80f1ea259fb2fc1bcda5f938bbea9c6.json --sleep-requests 14 --sleep-interval 13 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 3vcnhbHtwJ0: nsig extraction failed: Some formats may be missing n = gN3rrweny0Kx8vV6 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 3vcnhbHtwJ0: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 3vcnhbHtwJ0: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:57:35.210 [debug] Running yt-dlp command for action: download_thumbnail 16:57:35.214 [debug] QUERY OK source="settings" db=2.2ms 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 [] 16:57:35.217 [debug] QUERY OK source="settings" db=2.3ms idle=616.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:57:35.220 [debug] QUERY OK source="settings" db=2.4ms idle=618.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:57:35.221 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3vcnhbHtwJ0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/63/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/4e/3f/4e3f1f53d4a22b3f58a73aa8fca228547bf6256b199a4be5dcfdbf26cc195da5.json --sleep-requests 14 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:57:49.440 [info] {"source":"oban","duration":3656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:00.359 [info] {"source":"oban","duration":285,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:58:19.444 [info] {"source":"oban","duration":3709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:49.449 [info] {"source":"oban","duration":3922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:00.360 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:59:07.227 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3vcnhbHtwJ0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/63/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/4e/3f/4e3f1f53d4a22b3f58a73aa8fca228547bf6256b199a4be5dcfdbf26cc195da5.json --sleep-requests 14 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 3vcnhbHtwJ0: nsig extraction failed: Some formats may be missing n = WoQz7SXy5fkc3xVT ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 3vcnhbHtwJ0: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 3vcnhbHtwJ0: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 16:59:07.227 [debug] QUERY OK db=0.1ms idle=1628.9ms begin [] 16:59:07.262 [debug] QUERY OK source="media_items" db=34.1ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 20:57:35Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e50 - Minecraft_-_Shadow_of_Israphel_Part_12_-_Beyond_Skull_Pass.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e50 - Minecraft_-_Shadow_of_Israphel_Part_12_-_Beyond_Skull_Pass.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e50 - Minecraft_-_Shadow_of_Israphel_Part_12_-_Beyond_Skull_Pass.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e50 - Minecraft_-_Shadow_of_Israphel_Part_12_-_Beyond_Skull_Pass-thumb.jpg", ~U[2025-10-27 20:59:07Z], 63] 16:59:07.266 [debug] QUERY OK source="media_metadata" db=3.1ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/63/metadata.json.gz", "/config/metadata/media_items/63/thumbnail.jpg", 63, ~U[2025-10-27 20:59:07Z], ~U[2025-10-27 20:59:07Z]] 16:59:07.338 [debug] QUERY OK db=72.6ms commit [] 16:59:07.453 [debug] QUERY OK source="media_items" db=112.0ms idle=742.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [175550770, ~U[2025-10-27 20:59:07Z], 63] 16:59:07.454 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:59:07.516 [info] {"args":{"id":63},"id":55,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":366949805,"event":"job:stop","queue_time":7906459636,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:59:07.596 [info] {"args":{"id":64},"id":56,"meta":{},"system_time":1761598747596510180,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:59:07.600 [debug] QUERY OK source="media_items" db=3.3ms idle=258.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" = ?) [64] 16:59:07.600 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:59:07.603 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=248.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:59:07.607 [debug] QUERY OK source="media_profiles" db=2.8ms queue=0.1ms idle=151.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:59:07.611 [debug] QUERY OK source="media_items" db=3.6ms idle=91.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 [64] 16:59:07.615 [debug] QUERY OK source="media_metadata" db=2.3ms idle=16.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [64] 16:59:07.618 [debug] QUERY OK source="media_profiles" db=2.2ms queue=0.1ms idle=15.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:59:07.621 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=14.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:07.623 [debug] QUERY OK source="settings" db=2.5ms 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 [] 16:59:07.625 [debug] Running yt-dlp command for action: get_downloadable_status 16:59:07.628 [debug] QUERY OK source="settings" db=2.1ms idle=14.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:59:07.631 [debug] QUERY OK source="settings" db=2.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 [] 16:59:07.634 [debug] QUERY OK source="settings" db=2.8ms 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 [] 16:59:07.634 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8kJRzEfs1qQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c1/49/c1499540d839dc9bcf04fe3a9b91a968dd6813c76f459f2eb0470bbd297eda08.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:59:19.456 [info] {"source":"oban","duration":5339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:49.460 [info] {"source":"oban","duration":4032,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:00.361 [info] {"source":"oban","duration":300,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:00:19.466 [info] {"source":"oban","duration":4541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:23.369 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8kJRzEfs1qQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c1/49/c1499540d839dc9bcf04fe3a9b91a968dd6813c76f459f2eb0470bbd297eda08.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 8kJRzEfs1qQ: nsig extraction failed: Some formats may be missing n = YffpbFqTHXtqCEFy ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 8kJRzEfs1qQ: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 8kJRzEfs1qQ: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:00:23.369 [debug] Running yt-dlp command for action: download 17:00:23.372 [debug] QUERY OK source="settings" db=2.2ms idle=1770.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:00:23.374 [debug] QUERY OK source="settings" db=1.8ms idle=1665.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:00:23.376 [debug] QUERY OK source="settings" db=2.2ms idle=775.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:00:23.377 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8kJRzEfs1qQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e51 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e51 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9b/3c/9b3c7544e1f4161da15eec3cb72597549170e7a4f2fb98f4f96525667f1bf401.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:00:49.471 [info] {"source":"oban","duration":5256,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:00.362 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:01:19.477 [info] {"source":"oban","duration":4741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:49.481 [info] {"source":"oban","duration":3529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:00.363 [info] {"source":"oban","duration":309,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:02:19.492 [info] {"source":"oban","duration":3041,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:49.496 [info] {"source":"oban","duration":3573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:00.364 [info] {"source":"oban","duration":234,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:03:04.736 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8kJRzEfs1qQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e51 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e51 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9b/3c/9b3c7544e1f4161da15eec3cb72597549170e7a4f2fb98f4f96525667f1bf401.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 8kJRzEfs1qQ: nsig extraction failed: Some formats may be missing n = itBsw2CR-8jszf_k ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 8kJRzEfs1qQ: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 8kJRzEfs1qQ: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:03:04.974 [debug] Running yt-dlp command for action: download_thumbnail 17:03:04.978 [debug] QUERY OK source="settings" db=2.1ms idle=1348.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04.980 [debug] QUERY OK source="settings" db=2.1ms idle=379.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04.982 [debug] QUERY OK source="settings" db=2.0ms idle=381.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04.983 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8kJRzEfs1qQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/64/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/12/74/127417f1c7ce1e50fe10ffb0cdac59382579e4f1edef31115333dd6422ee7e64.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:03:19.503 [info] {"source":"oban","duration":7130,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:49.508 [info] {"source":"oban","duration":3987,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:00.365 [info] {"source":"oban","duration":305,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:04:19.513 [info] {"source":"oban","duration":3450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:25.868 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8kJRzEfs1qQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/64/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/12/74/127417f1c7ce1e50fe10ffb0cdac59382579e4f1edef31115333dd6422ee7e64.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] 8kJRzEfs1qQ: nsig extraction failed: Some formats may be missing n = E1ryMFGcOl7ivi3 ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] 8kJRzEfs1qQ: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 8kJRzEfs1qQ: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:04:25.869 [debug] QUERY OK db=0.0ms queue=0.4ms idle=1269.8ms begin [] 17:04:25.897 [debug] QUERY OK source="media_items" db=27.5ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 21:03:04Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e51 - Minecraft_-_Shadow_of_Israphel_Part_13_-_World_s_Strongest_Dwarf.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e51 - Minecraft_-_Shadow_of_Israphel_Part_13_-_World_s_Strongest_Dwarf.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e51 - Minecraft_-_Shadow_of_Israphel_Part_13_-_World_s_Strongest_Dwarf.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e51 - Minecraft_-_Shadow_of_Israphel_Part_13_-_World_s_Strongest_Dwarf-thumb.jpg", ~U[2025-10-27 21:04:25Z], 64] 17:04:25.901 [debug] QUERY OK source="media_metadata" db=4.1ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/64/metadata.json.gz", "/config/metadata/media_items/64/thumbnail.jpg", 64, ~U[2025-10-27 21:04:25Z], ~U[2025-10-27 21:04:25Z]] 17:04:25.955 [debug] QUERY OK db=53.4ms commit [] 17:04:26.023 [debug] QUERY OK source="media_items" db=65.6ms idle=1358.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [169000783, ~U[2025-10-27 21:04:25Z], 64] 17:04:26.024 [info] User scripts lifecyle file either not present or is empty. Skipping. 17:04:26.065 [info] {"args":{"id":64},"id":56,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":318428185,"event":"job:stop","queue_time":8273522688,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 17:04:26.115 [info] {"args":{"id":65},"id":57,"meta":{},"system_time":1761599066115761615,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 17:04:26.120 [debug] QUERY OK source="media_items" db=4.1ms queue=0.1ms idle=160.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [65] 17:04:26.121 [info] User scripts lifecyle file either not present or is empty. Skipping. 17:04:26.124 [debug] QUERY OK source="sources" db=3.0ms queue=0.1ms idle=98.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:04:26.127 [debug] QUERY OK source="media_profiles" db=2.5ms queue=0.1ms idle=90.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:04:26.131 [debug] QUERY OK source="media_items" db=3.2ms idle=62.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 [65] 17:04:26.134 [debug] QUERY OK source="media_metadata" db=2.5ms idle=16.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [65] 17:04:26.137 [debug] QUERY OK source="media_profiles" db=2.3ms idle=14.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:04:26.140 [debug] QUERY OK source="settings" db=2.0ms idle=13.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:04:26.142 [debug] QUERY OK source="settings" db=2.2ms 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 [] 17:04:26.144 [debug] Running yt-dlp command for action: get_downloadable_status 17:04:26.147 [debug] QUERY OK source="settings" db=2.1ms 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 [] 17:04:26.150 [debug] QUERY OK source="settings" db=2.3ms idle=12.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:26.152 [debug] QUERY OK source="settings" db=2.2ms 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:04:26.153 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=qyatdrTB3i0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/69/aa/69aaf4ed16ded54ffbd3b28161b44569e450c86b19ee08f720fb559a96708a13.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:04:49.518 [info] {"source":"oban","duration":4489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:00.366 [info] {"source":"oban","duration":302,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:05:19.523 [info] {"source":"oban","duration":4409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:49.527 [info] {"source":"oban","duration":3741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:00.367 [info] {"source":"oban","duration":328,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:06:00.472 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=qyatdrTB3i0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/69/aa/69aaf4ed16ded54ffbd3b28161b44569e450c86b19ee08f720fb559a96708a13.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] qyatdrTB3i0: nsig extraction failed: Some formats may be missing n = Gug7FgBx7TyiBI6z ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] qyatdrTB3i0: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] qyatdrTB3i0: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:06:00.473 [debug] Running yt-dlp command for action: download 17:06:00.475 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=1874.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:00.478 [debug] QUERY OK source="settings" db=2.5ms idle=993.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:00.481 [debug] QUERY OK source="settings" db=2.4ms 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 [] 17:06:00.482 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=qyatdrTB3i0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e52 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e52 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0a/5e/0a5ee6045737dd71105303506c44d44f75f7730fb9295b755c29e543d5b71d90.json --sleep-requests 14 --sleep-interval 15 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:06:19.532 [info] {"source":"oban","duration":3954,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:49.538 [info] {"source":"oban","duration":5123,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:00.368 [info] {"source":"oban","duration":287,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:07:19.544 [info] {"source":"oban","duration":5056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:49.549 [info] {"source":"oban","duration":4034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:00.369 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:08:19.554 [info] {"source":"oban","duration":4023,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:20.262 [info] GET / 17:08:20.263 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:08:20.265 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=1664.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20.269 [debug] QUERY OK source="media_profiles" db=3.2ms idle=1115.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:08:20.272 [debug] QUERY OK source="sources" db=2.7ms idle=714.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:08:20.284 [debug] QUERY OK source="media_items" db=11.9ms idle=673.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:08:20.287 [debug] QUERY OK source="media_items" db=3.2ms idle=129.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:08:20.290 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms 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 [] 17:08:20.293 [debug] QUERY OK source="settings" db=2.5ms 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 [] 17:08:20.303 [debug] QUERY OK source="settings" db=2.8ms 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 [] 17:08:20.309 [debug] QUERY OK source="tasks" db=3.8ms idle=21.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"] 17:08:20.312 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms 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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [65] 17:08:20.319 [debug] QUERY OK source="media_items" db=4.5ms idle=24.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:08:20.325 [debug] QUERY OK source="media_items" db=6.0ms idle=26.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:20.329 [debug] QUERY OK source="sources" db=2.8ms idle=22.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:08:20.334 [debug] QUERY OK source="media_items" db=3.0ms idle=22.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:08:20.339 [debug] QUERY OK source="media_items" db=4.6ms idle=22.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:20.343 [debug] QUERY OK source="sources" db=2.4ms idle=20.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:08:20.345 [info] Sent 200 in 82ms 17:08:21.045 [info] GET / 17:08:21.046 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:08:21.049 [debug] QUERY OK source="settings" db=2.6ms idle=720.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:21.051 [debug] QUERY OK source="media_profiles" db=2.1ms idle=719.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:08:21.054 [debug] QUERY OK source="sources" db=2.2ms idle=717.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:08:21.063 [debug] QUERY OK source="media_items" db=9.5ms idle=714.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:08:21.066 [debug] QUERY OK source="media_items" db=2.3ms idle=721.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:08:21.068 [debug] QUERY OK source="settings" db=2.1ms 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 [] 17:08:21.071 [debug] QUERY OK source="settings" db=1.9ms idle=17.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:21.074 [debug] QUERY OK source="settings" db=2.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 [] 17:08:21.078 [debug] QUERY OK source="tasks" db=3.5ms 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"] 17:08:21.081 [debug] QUERY OK source="media_items" db=2.6ms 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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [65] 17:08:21.085 [debug] QUERY OK source="media_items" db=3.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)) [] 17:08:21.092 [debug] QUERY OK source="media_items" db=6.0ms 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 (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:08:21.094 [debug] QUERY OK source="sources" db=1.9ms idle=18.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:08:21.100 [debug] QUERY OK source="media_items" db=2.6ms idle=19.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"))) [] 17:08:21.105 [debug] QUERY OK source="media_items" db=3.6ms queue=0.1ms idle=19.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:21.107 [debug] QUERY OK source="sources" db=2.1ms queue=0.1ms idle=19.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:08:21.110 [info] Sent 200 in 64ms 17:08:21.781 [info] CONNECTED TO Phoenix.LiveView.Socket in 33µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "UTA5PD18IjhYTRorZVglFVMQHgAJMmcfawQfxIJR19KeRlrl0hkLqFVP", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:08:21.896 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "0GhZE5hjitQN74WycxuLxt1O", "media_state" => "downloaded"} 17:08:21.900 [debug] QUERY OK source="media_items" db=3.3ms idle=801.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:08:21.902 [debug] QUERY OK source="media_items" db=2.1ms idle=799.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] 17:08:21.906 [debug] QUERY OK source="sources" db=3.1ms idle=798.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:08:21.906 [debug] Replied in 10ms 17:08:21.909 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "0GhZE5hjitQN74WycxuLxt1O", "media_state" => "pending"} 17:08:21.917 [debug] QUERY OK source="media_items" db=6.9ms idle=802.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"))) [] 17:08:21.921 [debug] QUERY OK source="media_items" db=3.4ms idle=756.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] 17:08:21.925 [debug] QUERY OK source="sources" db=4.0ms idle=21.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:08:21.926 [debug] Replied in 16ms 17:08:21.929 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "0GhZE5hjitQN74WycxuLxt1O"} 17:08:21.932 [debug] QUERY OK source="tasks" db=2.7ms queue=0.1ms idle=26.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"] 17:08:21.934 [debug] QUERY OK source="media_items" db=2.2ms idle=26.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [65] 17:08:21.935 [debug] Replied in 6ms 17:08:22.197 [info] GET / 17:08:22.197 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:08:22.201 [debug] QUERY OK source="settings" db=3.0ms idle=276.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:22.204 [debug] QUERY OK source="media_profiles" db=2.9ms idle=275.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:08:22.207 [debug] QUERY OK source="sources" db=2.7ms idle=272.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:08:22.217 [debug] QUERY OK source="media_items" db=9.8ms queue=0.1ms idle=272.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:08:22.219 [debug] QUERY OK source="media_items" db=2.2ms idle=50.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:08:22.222 [debug] QUERY OK source="settings" db=2.4ms idle=19.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:08:22.225 [debug] QUERY OK source="settings" db=2.2ms 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 [] 17:08:22.228 [debug] QUERY OK source="settings" db=2.1ms 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 [] 17:08:22.232 [debug] QUERY OK source="tasks" db=2.9ms idle=11.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"] 17:08:22.234 [debug] QUERY OK source="media_items" db=2.3ms 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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [65] 17:08:22.239 [debug] QUERY OK source="media_items" db=3.0ms idle=13.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)) [] 17:08:22.241 [debug] QUERY OK source="media_items" db=2.4ms idle=13.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] 17:08:22.244 [debug] QUERY OK source="sources" db=2.6ms idle=14.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:08:22.250 [debug] QUERY OK source="media_items" db=2.6ms idle=15.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"))) [] 17:08:22.253 [debug] QUERY OK source="media_items" db=2.8ms idle=15.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:22.255 [debug] QUERY OK source="sources" db=2.1ms idle=14.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:08:22.257 [info] Sent 200 in 60ms 17:08:37.856 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=qyatdrTB3i0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e52 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e52 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0a/5e/0a5ee6045737dd71105303506c44d44f75f7730fb9295b755c29e543d5b71d90.json --sleep-requests 14 --sleep-interval 15 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] qyatdrTB3i0: nsig extraction failed: Some formats may be missing n = 0U0DcEJ-jORN2fNn ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] qyatdrTB3i0: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] qyatdrTB3i0: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:08:37.941 [debug] Running yt-dlp command for action: download_thumbnail 17:08:37.945 [debug] QUERY OK source="settings" db=2.4ms idle=657.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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.947 [debug] QUERY OK source="settings" db=2.1ms idle=345.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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.949 [debug] QUERY OK source="settings" db=2.1ms idle=347.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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.950 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=qyatdrTB3i0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/65/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/90/b6/90b6d05fab4fccad96e7384dfcac6bb6f60b4094b0a37877d4e4f592a7bb044b.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:08:49.560 [info] {"source":"oban","duration":4291,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:00.370 [info] {"source":"oban","duration":291,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:09:19.564 [info] {"source":"oban","duration":3681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:49.570 [info] {"source":"oban","duration":4313,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:00.371 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:10:15.391 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=qyatdrTB3i0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/65/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/90/b6/90b6d05fab4fccad96e7384dfcac6bb6f60b4094b0a37877d4e4f592a7bb044b.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] qyatdrTB3i0: nsig extraction failed: Some formats may be missing n = 5TPjhvLa9Ne8jE-y ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] qyatdrTB3i0: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] qyatdrTB3i0: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:10:15.392 [debug] QUERY OK db=0.1ms idle=1792.6ms begin [] 17:10:15.417 [debug] QUERY OK source="media_items" db=23.9ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 21:08:37Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e52 - Minecraft_-_Shadow_of_Israphel_Part_14_-_The_Tale_of_the_Sands.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e52 - Minecraft_-_Shadow_of_Israphel_Part_14_-_The_Tale_of_the_Sands.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e52 - Minecraft_-_Shadow_of_Israphel_Part_14_-_The_Tale_of_the_Sands.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e52 - Minecraft_-_Shadow_of_Israphel_Part_14_-_The_Tale_of_the_Sands-thumb.jpg", ~U[2025-10-27 21:10:15Z], 65] 17:10:15.420 [debug] QUERY OK source="media_metadata" db=3.0ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/65/metadata.json.gz", "/config/metadata/media_items/65/thumbnail.jpg", 65, ~U[2025-10-27 21:10:15Z], ~U[2025-10-27 21:10:15Z]] 17:10:15.475 [debug] QUERY OK db=55.0ms commit [] 17:10:15.534 [debug] QUERY OK source="media_items" db=56.9ms idle=1877.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [117942242, ~U[2025-10-27 21:10:15Z], 65] 17:10:15.536 [info] User scripts lifecyle file either not present or is empty. Skipping. 17:10:15.577 [info] {"args":{"id":65},"id":57,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":349420512,"event":"job:stop","queue_time":8592071670,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 17:10:15.628 [info] {"args":{"id":66},"id":58,"meta":{},"system_time":1761599415627802628,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 17:10:15.631 [debug] QUERY OK source="media_items" db=2.6ms idle=858.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" = ?) [66] 17:10:15.631 [info] User scripts lifecyle file either not present or is empty. Skipping. 17:10:15.634 [debug] QUERY OK source="sources" db=2.5ms idle=156.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:10:15.637 [debug] QUERY OK source="media_profiles" db=2.6ms queue=0.1ms idle=99.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:10:15.641 [debug] QUERY OK source="media_items" db=3.7ms idle=60.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 [66] 17:10:15.645 [debug] QUERY OK source="media_metadata" db=2.2ms idle=15.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [66] 17:10:15.648 [debug] QUERY OK source="media_profiles" db=2.7ms idle=14.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:10:15.651 [debug] QUERY OK source="settings" db=2.6ms 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 [] 17:10:15.654 [debug] QUERY OK source="settings" db=2.8ms 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 [] 17:10:15.656 [debug] Running yt-dlp command for action: get_downloadable_status 17:10:15.660 [debug] QUERY OK source="settings" db=2.9ms 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:10:15.663 [debug] QUERY OK source="settings" db=2.3ms 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 [] 17:10:15.665 [debug] QUERY OK source="settings" db=2.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 [] 17:10:15.665 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k-LoFJrez1A --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ed/08/ed089273ab224ccdbdec5c3209cbf1267367a15c50f19b18d93bef50613e695a.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:10:19.576 [info] {"source":"oban","duration":5648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:49.581 [info] {"source":"oban","duration":4704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:00.372 [info] {"source":"oban","duration":276,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:11:19.586 [info] {"source":"oban","duration":3686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:49.591 [info] {"source":"oban","duration":4595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:49.620 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k-LoFJrez1A --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ed/08/ed089273ab224ccdbdec5c3209cbf1267367a15c50f19b18d93bef50613e695a.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] k-LoFJrez1A: nsig extraction failed: Some formats may be missing n = nxTvvbiHXD9sqOs ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] k-LoFJrez1A: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] k-LoFJrez1A: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:11:49.621 [debug] Running yt-dlp command for action: download 17:11:49.624 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=1021.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:11:49.626 [debug] QUERY OK source="settings" db=2.1ms idle=1024.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:11:49.629 [debug] QUERY OK source="settings" db=2.3ms idle=388.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:11:49.629 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k-LoFJrez1A --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e53 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e53 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7c/f8/7cf87c3742f813ff540255eae90048a1b1fa4b53baef43fef279f95522e47a42.json --sleep-requests 11 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:12:00.373 [info] {"source":"oban","duration":299,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:12:19.595 [info] {"source":"oban","duration":3358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:33.205 [info] GET / 17:12:33.205 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:12:33.208 [debug] QUERY OK source="settings" db=2.6ms idle=1605.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:12:33.211 [debug] QUERY OK source="media_profiles" db=2.3ms idle=1608.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:12:33.213 [debug] QUERY OK source="sources" db=2.2ms queue=0.1ms idle=1611.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:12:33.224 [debug] QUERY OK source="media_items" db=10.1ms idle=766.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:12:33.227 [debug] QUERY OK source="media_items" db=3.4ms idle=624.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:12:33.230 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=19.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:12:33.232 [debug] QUERY OK source="settings" db=2.0ms idle=19.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:12:33.235 [debug] QUERY OK source="settings" db=2.2ms idle=19.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:12:33.239 [debug] QUERY OK source="tasks" db=3.3ms 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"] 17:12:33.242 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=12.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [66] 17:12:33.247 [debug] QUERY OK source="media_items" db=3.3ms idle=13.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)) [] 17:12:33.253 [debug] QUERY OK source="media_items" db=5.7ms 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] 17:12:33.256 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=18.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:12:33.262 [debug] QUERY OK source="media_items" db=2.2ms idle=19.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:12:33.267 [debug] QUERY OK source="media_items" db=5.1ms idle=19.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:12:33.270 [debug] QUERY OK source="sources" db=2.3ms idle=21.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:12:33.272 [info] Sent 200 in 67ms 17:12:33.396 [info] CONNECTED TO Phoenix.LiveView.Socket in 31µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "TR0WCy8WYgMYFQ51Ayl8ExA0MFF1BBkVulrlloRfOyOMsaIxBmU4-cuW", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:12:33.442 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "downloaded"} 17:12:33.446 [debug] QUERY OK source="media_items" db=3.2ms idle=190.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:12:33.453 [debug] QUERY OK source="media_items" db=6.4ms queue=0.1ms idle=190.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:12:33.456 [debug] QUERY OK source="sources" db=2.2ms idle=186.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:12:33.456 [debug] Replied in 13ms 17:12:33.459 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "pending"} 17:12:33.470 [debug] QUERY OK source="media_items" db=10.5ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:12:33.475 [debug] QUERY OK source="media_items" db=4.7ms idle=23.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:12:33.478 [debug] QUERY OK source="sources" db=2.2ms queue=0.1ms idle=25.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:12:33.478 [debug] Replied in 19ms 17:12:33.480 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 17:12:33.485 [debug] QUERY OK source="tasks" db=4.3ms 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"] 17:12:33.490 [debug] QUERY OK source="media_items" db=4.5ms queue=0.1ms idle=29.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [66] 17:12:33.490 [debug] Replied in 9ms 17:12:49.599 [info] {"source":"oban","duration":3944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:00.374 [info] {"source":"oban","duration":250,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:13:19.606 [info] {"source":"oban","duration":5539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:42.812 [info] GET / 17:13:42.812 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:13:42.815 [debug] QUERY OK source="settings" db=2.6ms idle=1212.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:42.818 [debug] QUERY OK source="media_profiles" db=2.5ms idle=1035.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:13:42.821 [debug] QUERY OK source="sources" db=2.3ms idle=219.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:13:42.831 [debug] QUERY OK source="media_items" db=10.4ms idle=221.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:13:42.834 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=47.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:13:42.836 [debug] QUERY OK source="settings" db=2.0ms 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 [] 17:13:42.839 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms 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 [] 17:13:42.842 [debug] QUERY OK source="settings" db=2.1ms 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 [] 17:13:42.846 [debug] QUERY OK source="tasks" db=3.6ms idle=11.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:13:42.849 [debug] QUERY OK source="media_items" db=2.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [66] 17:13:42.853 [debug] QUERY OK source="media_items" db=3.2ms idle=13.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:13:42.856 [debug] QUERY OK source="media_items" db=2.3ms 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] 17:13:42.858 [debug] QUERY OK source="sources" db=2.0ms queue=0.1ms idle=14.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:13:42.864 [debug] QUERY OK source="media_items" db=2.8ms 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"))) [] 17:13:42.868 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=15.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:13:42.871 [debug] QUERY OK source="sources" db=2.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] 17:13:42.873 [info] Sent 200 in 60ms 17:13:43.053 [info] CONNECTED TO Phoenix.LiveView.Socket in 47µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "d1w1FwIJaDQAKioBQQBzP2ARBiZqNRYDO-QpApXQWFk91HFT2HcC2RzA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:13:43.079 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "downloaded"} 17:13:43.084 [debug] QUERY OK source="media_items" db=4.3ms idle=223.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:13:43.087 [debug] QUERY OK source="media_items" db=2.9ms idle=225.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] 17:13:43.090 [debug] QUERY OK source="sources" db=2.2ms 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] 17:13:43.090 [debug] Replied in 11ms 17:13:43.094 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "pending"} 17:13:43.097 [debug] QUERY OK source="media_items" db=2.3ms idle=226.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:13:43.100 [debug] QUERY OK source="media_items" db=2.8ms idle=226.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] 17:13:43.103 [debug] QUERY OK source="sources" db=2.3ms idle=16.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:13:43.103 [debug] Replied in 8ms 17:13:43.105 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 17:13:43.110 [debug] QUERY OK source="tasks" db=3.6ms idle=18.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:13:43.112 [debug] QUERY OK source="media_items" db=2.4ms idle=19.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [66] 17:13:43.112 [debug] Replied in 7ms 17:13:47.104 [info] GET /sources 17:13:47.104 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 17:13:47.107 [debug] QUERY OK source="settings" db=2.4ms idle=505.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:13:47.110 [debug] QUERY OK source="settings" db=2.2ms idle=507.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:47.112 [debug] QUERY OK source="settings" db=2.0ms idle=510.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:47.115 [debug] QUERY OK source="settings" db=2.0ms idle=513.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:47.118 [debug] QUERY OK source="settings" db=2.1ms idle=309.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:47.126 [debug] QUERY OK source="sources" db=7.4ms idle=11.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)) [] 17:13:47.136 [debug] QUERY OK source="sources" db=9.1ms idle=16.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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:13:47.138 [info] Sent 200 in 34ms 17:13:47.394 [info] CONNECTED TO Phoenix.LiveView.Socket in 36µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Vx1WFiYXQCcPDQpJFTJjWTZ0AS81U18jol2qenpBXaKqezV2d-dJm43a", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:13:47.411 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 17:13:47.416 [debug] QUERY OK source="sources" db=4.6ms idle=299.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)) [] 17:13:47.422 [debug] QUERY OK source="sources" db=4.9ms idle=301.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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:13:47.422 [debug] Replied in 11ms 17:13:48.689 [info] GET /sources/new 17:13:48.690 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 17:13:48.693 [debug] QUERY OK source="media_profiles" db=2.7ms queue=0.2ms idle=880.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:13:48.696 [debug] QUERY OK source="settings" db=2.2ms 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 [] 17:13:48.699 [debug] QUERY OK source="settings" db=2.3ms idle=96.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:48.701 [debug] QUERY OK source="settings" db=2.3ms idle=99.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:13:48.704 [debug] QUERY OK source="settings" db=2.3ms idle=102.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:48.707 [debug] QUERY OK source="settings" db=2.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 [] 17:13:48.713 [info] Sent 200 in 23ms 17:13:49.611 [info] {"source":"oban","duration":4333,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:00.375 [info] {"source":"oban","duration":287,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:14:16.639 [info] POST /sources 17:14:16.640 [debug] Processing with PinchflatWeb.Sources.SourceController.create/2 Parameters: %{"_csrf_token" => "UTozHXBMRzM1WzcNR3kDPyhpLAgQCDk0iKWz35wVb7v5716Tz0ImHoUv", "download_cutoff_date_preset" => "", "source" => %{"cookie_behaviour" => "when_needed", "custom_name" => "YogLabs 2", "download_cutoff_date" => "", "download_media" => "true", "fast_index" => "false", "index_frequency_minutes" => "10080", "max_duration_seconds" => "", "media_profile_id" => "1", "min_duration_seconds" => "", "original_url" => "https://www.youtube.com/playlist?list=PL3XZNMGhpynOcqv-_8opIEXbDeIk3I3tX", "output_path_template_override" => "", "retention_period_days" => "", "title_filter_regex" => ""}} Pipelines: [:browser] 17:14:16.640 [debug] Running yt-dlp command for action: get_source_details 17:14:16.644 [debug] QUERY OK source="settings" db=2.4ms idle=1042.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:16.647 [debug] QUERY OK source="settings" db=2.4ms idle=1044.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:16.649 [debug] QUERY OK source="settings" db=2.4ms idle=530.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:16.650 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PL3XZNMGhpynOcqv-_8opIEXbDeIk3I3tX --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/64/fe/64fef1c1c0d686669d67871dfcf0e48c66c0cab0a6f5790f4a3e0e05eaea35ce.json --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:14:19.615 [info] {"source":"oban","duration":3599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:21.176 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PL3XZNMGhpynOcqv-_8opIEXbDeIk3I3tX --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/64/fe/64fef1c1c0d686669d67871dfcf0e48c66c0cab0a6f5790f4a3e0e05eaea35ce.json --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] uv06bzr7Y3U: nsig extraction failed: Some formats may be missing n = ivBCRI1slpqFKGSk ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] uv06bzr7Y3U: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] uv06bzr7Y3U: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:14:21.239 [debug] QUERY OK source="sources" db=61.5ms idle=1042.2ms INSERT INTO "sources" ("enabled","uuid","original_url","media_profile_id","custom_name","collection_id","collection_name","collection_type","download_media","fast_index","cookie_behaviour","index_frequency_minutes","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14) RETURNING "id" [true, "f8008779-4688-4437-998b-789e1375e11d", "https://www.youtube.com/playlist?list=PL3XZNMGhpynOcqv-_8opIEXbDeIk3I3tX", 1, "YogLabs 2", "PL3XZNMGhpynOcqv-_8opIEXbDeIk3I3tX", "YogLabs 2!", :playlist, true, false, :when_needed, 10080, ~U[2025-10-27 21:14:21Z], ~U[2025-10-27 21:14:21Z]] 17:14:21.242 [debug] QUERY OK source="tasks" db=2.7ms idle=640.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 (?,?,?,?)) [2, "%.MediaCollectionIndexingWorker", "available", "scheduled", "retryable", "executing"] 17:14:21.364 [debug] QUERY OK source="tasks" db=51.8ms idle=173.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [95, 2, ~U[2025-10-27 21:14:21Z], ~U[2025-10-27 21:14:21Z]] 17:14:21.515 [debug] QUERY OK source="tasks" db=99.5ms idle=172.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [96, 2, ~U[2025-10-27 21:14:21Z], ~U[2025-10-27 21:14:21Z]] 17:14:21.518 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=202.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:21.518 [info] Sent 302 in 4879ms 17:14:21.588 [info] GET /sources/2 17:14:21.588 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 17:14:21.589 [info] {"args":{"id":2},"id":96,"meta":{},"system_time":1761599661588868516,"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"]} 17:14:21.592 [debug] QUERY OK source="sources" db=2.6ms queue=0.2ms idle=224.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:14:21.592 [debug] QUERY OK source="sources" db=2.6ms queue=0.5ms idle=174.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:14:21.594 [debug] QUERY OK source="source_metadata" db=1.4ms queue=0.1ms idle=4.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" = ?) [2] 17:14:21.595 [debug] QUERY OK source="media_profiles" db=2.5ms queue=0.1ms idle=77.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:14:21.595 [debug] QUERY OK source="media_profiles" db=2.2ms idle=74.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:14:21.596 [debug] Running yt-dlp command for action: get_source_details 17:14:21.598 [debug] QUERY OK source="settings" db=0.9ms 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:14:21.599 [debug] QUERY OK source="settings" db=0.6ms 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 [] 17:14:21.600 [debug] QUERY OK source="tasks" db=4.2ms idle=3.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 (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 17:14:21.602 [debug] QUERY OK source="settings" db=2.4ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:21.602 [debug] QUERY OK source="oban_jobs" db=2.2ms idle=4.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 (?,?)) [96, 95] 17:14:21.602 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PL3XZNMGhpynOcqv-_8opIEXbDeIk3I3tX --simulate --skip-download --ignore-no-formats-error --playlist-end 1 --output /downloads/series/YogLabs 2/Season 1/s01e00 - %(title)S.%(ext)S --print-to-file %(.{channel,channel_id,playlist_id,playlist_title,filename})j /tmp/pinchflat/data/07/11/071141e5b4a9f4d90d77a585714647076c66a37c261cab58cc843ec0ccf09b1d.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:14:21.605 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:21.608 [debug] QUERY OK source="settings" db=2.6ms 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:14:21.612 [debug] QUERY OK source="settings" db=2.8ms 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 [] 17:14:21.616 [debug] QUERY OK source="sources" db=2.8ms idle=12.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:14:21.620 [debug] QUERY OK source="media_items" db=2.8ms queue=0.3ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 17:14:21.625 [debug] QUERY OK source="media_items" db=3.0ms queue=0.5ms idle=15.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 ? [2, 10, 0] 17:14:21.628 [debug] QUERY OK source="sources" db=2.6ms idle=17.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:14:21.631 [debug] QUERY OK source="media_items" db=2.8ms queue=0.2ms idle=16.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 17:14:21.635 [debug] QUERY OK source="media_items" db=2.7ms queue=0.2ms idle=15.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 ? [2, 10, 0] 17:14:21.638 [debug] QUERY OK source="sources" db=2.2ms 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" = ?) [2] 17:14:21.641 [debug] QUERY OK source="media_items" db=2.2ms queue=0.4ms idle=13.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"))))) [2] 17:14:21.645 [debug] QUERY OK source="media_items" db=3.6ms queue=0.4ms idle=13.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 ? [2, 10, 0] 17:14:21.647 [info] Sent 200 in 59ms 17:14:21.821 [info] CONNECTED TO Phoenix.LiveView.Socket in 35µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "aSQSCAcNBhItVQ5oFRJCE2o7CQtgAi0jQUvoDt6wz9OPeZwx8bln8eAa", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:14:21.923 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "pending", "source_id" => 2} 17:14:21.926 [debug] QUERY OK source="sources" db=2.7ms idle=292.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:14:21.929 [debug] QUERY OK source="media_items" db=2.5ms idle=292.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")))) [2] 17:14:21.933 [debug] QUERY OK source="media_items" db=3.6ms queue=0.1ms idle=292.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 ? [2, 10, 0] 17:14:21.934 [debug] Replied in 10ms 17:14:21.935 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "downloaded", "source_id" => 2} 17:14:21.939 [debug] QUERY OK source="sources" db=3.0ms idle=294.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:14:21.942 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=293.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 17:14:21.951 [debug] QUERY OK source="media_items" db=7.8ms queue=0.1ms idle=16.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 ? [2, 10, 0] 17:14:21.951 [debug] Replied in 15ms 17:14:21.952 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "other", "source_id" => 2} 17:14:21.958 [debug] QUERY OK source="sources" db=5.6ms 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" = ?) [2] 17:14:21.964 [debug] QUERY OK source="media_items" db=4.6ms idle=25.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"))))) [2] 17:14:21.968 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=25.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 ? [2, 10, 0] 17:14:21.968 [debug] Replied in 15ms 17:14:22.249 [info] {"args":{"id":2},"id":95,"meta":{},"system_time":1761599662249233354,"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"]} 17:14:22.252 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=291.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:14:22.255 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=288.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:22.260 [debug] QUERY OK source="media_items" db=3.5ms queue=0.7ms idle=288.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")))) [2] 17:14:22.263 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=61.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 17:14:22.266 [debug] QUERY OK source="media_profiles" db=2.7ms 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] 17:14:22.270 [debug] QUERY OK source="settings" db=2.5ms 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 [] 17:14:22.273 [debug] QUERY OK source="settings" db=2.6ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:22.274 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 17:14:22.275 [debug] Current batch of media processed. Will check again in 1000ms 17:14:22.279 [debug] QUERY OK source="settings" db=2.7ms 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:14:22.282 [debug] QUERY OK source="settings" db=2.5ms 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 [] 17:14:22.285 [debug] QUERY OK source="settings" db=2.7ms 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 [] 17:14:22.285 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PL3XZNMGhpynOcqv-_8opIEXbDeIk3I3tX --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/series/YogLabs 2/Season 1/s01e00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/7b/2d/7b2db3015291062090bb93e19ac3aa181ec7e14b1a7da3d5da5d8909ff04e9e1.json --sleep-requests 15 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:14:23.275 [debug] Current batch of media processed. Will check again in 1000ms 17:14:24.276 [debug] Current batch of media processed. Will check again in 1000ms 17:14:24.435 [info] GET /sources/2 17:14:24.435 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 17:14:24.439 [debug] QUERY OK source="sources" db=3.5ms idle=835.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:14:24.442 [debug] QUERY OK source="media_profiles" db=2.2ms idle=839.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:14:24.446 [debug] QUERY OK source="tasks" db=3.8ms idle=842.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 (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 17:14:24.449 [debug] QUERY OK source="oban_jobs" db=2.8ms idle=846.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [96, 95] 17:14:24.452 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms 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:14:24.455 [debug] QUERY OK source="settings" db=2.2ms 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 [] 17:14:24.458 [debug] QUERY OK source="settings" db=2.7ms 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 [] 17:14:24.463 [debug] QUERY OK source="sources" db=2.5ms 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" = ?) [2] 17:14:24.466 [debug] QUERY OK source="media_items" db=2.9ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 17:14:24.470 [debug] QUERY OK source="media_items" db=3.4ms idle=14.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 ? [2, 10, 0] 17:14:24.473 [debug] QUERY OK source="sources" db=2.2ms idle=16.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:14:24.476 [debug] QUERY OK source="media_items" db=2.8ms idle=15.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 17:14:24.479 [debug] QUERY OK source="media_items" db=2.6ms idle=13.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 ? [2, 10, 0] 17:14:24.482 [debug] QUERY OK source="sources" db=2.2ms queue=0.1ms idle=13.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:14:24.486 [debug] QUERY OK source="media_items" db=2.8ms queue=0.2ms 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 ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [2] 17:14:24.490 [debug] QUERY OK source="media_items" db=3.6ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_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 ? [2, 10, 0] 17:14:24.492 [info] Sent 200 in 57ms 17:14:25.278 [debug] Current batch of media processed. Will check again in 1000ms 17:14:26.278 [debug] Current batch of media processed. Will check again in 1000ms 17:14:27.279 [debug] Current batch of media processed. Will check again in 1000ms 17:14:28.280 [debug] Current batch of media processed. Will check again in 1000ms 17:14:29.281 [debug] Current batch of media processed. Will check again in 1000ms 17:14:30.282 [debug] Current batch of media processed. Will check again in 1000ms 17:14:31.284 [debug] Current batch of media processed. Will check again in 1000ms 17:14:32.285 [debug] Current batch of media processed. Will check again in 1000ms 17:14:33.286 [debug] Current batch of media processed. Will check again in 1000ms 17:14:34.287 [debug] Current batch of media processed. Will check again in 1000ms 17:14:35.289 [debug] Current batch of media processed. Will check again in 1000ms 17:14:36.289 [debug] Current batch of media processed. Will check again in 1000ms 17:14:36.521 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k-LoFJrez1A --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e53 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e53 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7c/f8/7cf87c3742f813ff540255eae90048a1b1fa4b53baef43fef279f95522e47a42.json --sleep-requests 11 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] k-LoFJrez1A: nsig extraction failed: Some formats may be missing n = iIodmSBEqfYl2YCL ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] k-LoFJrez1A: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] k-LoFJrez1A: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:14:36.535 [info] GET / 17:14:36.535 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:14:36.540 [debug] QUERY OK source="settings" db=4.5ms idle=936.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:36.544 [debug] QUERY OK source="media_profiles" db=3.2ms idle=941.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:14:36.547 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=944.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:14:36.558 [debug] QUERY OK source="media_items" db=11.2ms idle=947.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:14:36.562 [debug] QUERY OK source="media_items" db=3.5ms idle=204.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:14:36.565 [debug] QUERY OK source="settings" db=2.6ms 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 [] 17:14:36.568 [debug] QUERY OK source="settings" db=2.4ms 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 [] 17:14:36.571 [debug] QUERY OK source="settings" db=2.3ms 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 [] 17:14:36.575 [debug] QUERY OK source="tasks" db=3.3ms idle=13.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"] 17:14:36.579 [debug] QUERY OK source="sources" db=2.4ms 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" = ?) [2] 17:14:36.579 [debug] QUERY OK source="media_items" db=3.4ms idle=13.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [66] 17:14:36.584 [debug] QUERY OK source="media_items" db=2.7ms 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:14:36.591 [debug] QUERY OK source="media_items" db=6.5ms 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 (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:14:36.593 [debug] QUERY OK source="sources" db=2.2ms idle=15.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:14:36.608 [debug] QUERY OK source="media_items" db=11.6ms idle=17.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:14:36.614 [debug] QUERY OK source="media_items" db=5.2ms queue=0.3ms idle=29.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] 17:14:36.617 [debug] QUERY OK source="sources" db=2.1ms idle=30.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:14:36.621 [info] Sent 200 in 85ms 17:14:36.630 [debug] Running yt-dlp command for action: download_thumbnail 17:14:36.636 [debug] QUERY OK source="settings" db=3.6ms idle=41.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:36.638 [debug] QUERY OK source="settings" db=2.0ms idle=42.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:36.640 [debug] QUERY OK source="settings" db=2.0ms idle=30.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:36.641 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k-LoFJrez1A --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/66/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/25/34/2534331c1b91cd32f9e64dc1de5041193e4eca75833e1edf1ed58df661fbcd03.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:14:37.290 [debug] Current batch of media processed. Will check again in 1000ms 17:14:38.291 [debug] Current batch of media processed. Will check again in 1000ms 17:14:39.313 [debug] Current batch of media processed. Will check again in 1000ms 17:14:40.313 [debug] Current batch of media processed. Will check again in 1000ms 17:14:41.314 [debug] Current batch of media processed. Will check again in 1000ms 17:14:42.315 [debug] Current batch of media processed. Will check again in 1000ms 17:14:42.419 [info] GET /sources/1 17:14:42.420 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 17:14:42.423 [debug] QUERY OK source="sources" db=2.7ms idle=1820.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:14:42.426 [debug] QUERY OK source="media_profiles" db=2.4ms idle=1823.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:14:42.430 [debug] QUERY OK source="tasks" db=4.0ms idle=1826.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 17:14:42.433 [debug] QUERY OK source="oban_jobs" db=2.6ms queue=0.2ms idle=1053.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" = ?) [93] 17:14:42.436 [debug] QUERY OK source="settings" db=2.3ms 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 [] 17:14:42.439 [debug] QUERY OK source="settings" db=2.3ms idle=13.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:42.441 [debug] QUERY OK source="settings" db=1.8ms idle=13.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:42.445 [debug] QUERY OK source="sources" db=2.2ms idle=12.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:14:42.448 [debug] QUERY OK source="media_items" db=2.6ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:14:42.458 [debug] QUERY OK source="media_items" db=9.5ms idle=12.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:14:42.462 [debug] QUERY OK source="sources" db=2.3ms idle=20.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:14:42.464 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=20.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 17:14:42.467 [debug] QUERY OK source="media_items" db=2.4ms idle=19.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] 17:14:42.470 [debug] QUERY OK source="sources" db=2.0ms idle=20.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:14:42.473 [debug] QUERY OK source="media_items" db=2.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] 17:14:42.480 [debug] QUERY OK source="media_items" db=6.8ms 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] 17:14:42.482 [info] Sent 200 in 62ms 17:14:43.316 [debug] Current batch of media processed. Will check again in 1000ms 17:14:44.317 [debug] Current batch of media processed. Will check again in 1000ms 17:14:45.318 [debug] Current batch of media processed. Will check again in 1000ms 17:14:45.382 [info] GET /sources/1/media/63 17:14:45.382 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "63", "source_id" => "1"} Pipelines: [:browser] 17:14:45.385 [debug] QUERY OK source="media_items" db=2.6ms idle=1783.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" = ?) [63] 17:14:45.389 [debug] QUERY OK source="sources" db=2.6ms idle=1786.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:14:45.390 [debug] QUERY OK source="tasks" db=4.1ms queue=0.1ms idle=1786.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" [63] 17:14:45.393 [debug] QUERY OK source="oban_jobs" db=2.7ms idle=1790.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" = ?) [55] 17:14:45.396 [debug] QUERY OK source="settings" db=2.0ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:45.399 [debug] QUERY OK source="settings" db=2.6ms 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 [] 17:14:45.401 [debug] QUERY OK source="settings" db=2.2ms 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 [] 17:14:45.405 [debug] QUERY OK source="media_profiles" db=2.2ms queue=0.1ms idle=9.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:14:45.407 [info] Sent 200 in 25ms 17:14:46.319 [debug] Current batch of media processed. Will check again in 1000ms 17:14:47.320 [debug] Current batch of media processed. Will check again in 1000ms 17:14:47.873 [info] GET /app_info 17:14:47.873 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 17:14:47.876 [debug] QUERY OK source="settings" db=2.3ms idle=1274.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:47.879 [debug] QUERY OK source="settings" db=2.2ms idle=1277.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:47.881 [debug] QUERY OK source="settings" db=2.1ms idle=1279.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:47.885 [debug] QUERY OK source="settings" db=2.4ms idle=1282.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:47.887 [debug] QUERY OK source="settings" db=2.1ms idle=479.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:47.888 [info] Sent 200 in 15ms 17:14:48.321 [debug] Current batch of media processed. Will check again in 1000ms 17:14:49.322 [debug] Current batch of media processed. Will check again in 1000ms 17:14:49.623 [info] {"source":"oban","duration":8172,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:50.244 [info] GET /sources/1/media/100 17:14:50.244 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "100", "source_id" => "1"} Pipelines: [:browser] 17:14:50.247 [debug] QUERY OK source="media_items" db=2.7ms idle=645.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" = ?) [100] 17:14:50.250 [debug] QUERY OK source="sources" db=2.0ms idle=648.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:14:50.250 [debug] QUERY OK source="tasks" db=2.6ms idle=648.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" [100] 17:14:50.253 [debug] QUERY OK source="oban_jobs" db=2.0ms idle=651.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" = ?) [92] 17:14:50.255 [debug] QUERY OK source="settings" db=2.0ms idle=629.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:50.257 [debug] QUERY OK source="settings" db=1.9ms 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:14:50.260 [debug] QUERY OK source="settings" db=1.9ms 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:14:50.263 [debug] QUERY OK source="media_profiles" db=2.1ms idle=10.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:14:50.265 [info] Sent 200 in 21ms 17:14:50.323 [debug] Current batch of media processed. Will check again in 1000ms 17:14:51.324 [debug] Current batch of media processed. Will check again in 1000ms 17:14:52.262 [info] GET /sources/2 17:14:52.262 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 17:14:52.265 [debug] QUERY OK source="sources" db=2.4ms idle=837.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:14:52.267 [debug] QUERY OK source="media_profiles" db=2.0ms idle=665.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:14:52.270 [debug] QUERY OK source="tasks" db=2.0ms idle=668.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 17:14:52.273 [debug] QUERY OK source="oban_jobs" db=2.4ms queue=0.1ms idle=670.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 (?,?)) [96, 95] 17:14:52.275 [debug] QUERY OK source="settings" db=1.9ms idle=673.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:52.277 [debug] QUERY OK source="settings" db=2.2ms idle=10.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:52.280 [debug] QUERY OK source="settings" db=2.2ms idle=11.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:52.285 [debug] QUERY OK source="sources" db=2.4ms 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" = ?) [2] 17:14:52.288 [debug] QUERY OK source="media_items" db=2.6ms queue=0.2ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 17:14:52.291 [debug] QUERY OK source="media_items" db=2.9ms idle=13.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 17:14:52.294 [debug] QUERY OK source="sources" db=2.1ms idle=14.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:14:52.296 [debug] QUERY OK source="media_items" db=2.2ms idle=13.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 17:14:52.299 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=12.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 ? [2, 10, 0] 17:14:52.302 [debug] QUERY OK source="sources" db=2.0ms 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" = ?) [2] 17:14:52.305 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=11.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"))))) [2] 17:14:52.308 [debug] QUERY OK source="media_items" db=2.5ms idle=11.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 ? [2, 10, 0] 17:14:52.309 [info] Sent 200 in 47ms 17:14:52.325 [debug] Current batch of media processed. Will check again in 1000ms 17:14:53.326 [debug] Current batch of media processed. Will check again in 1000ms 17:14:54.077 [info] GET /sources/1/media/97 17:14:54.078 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "97", "source_id" => "1"} Pipelines: [:browser] 17:14:54.081 [debug] QUERY OK source="media_items" db=2.8ms idle=642.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" = ?) [97] 17:14:54.084 [debug] QUERY OK source="sources" db=2.2ms idle=482.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:14:54.085 [debug] QUERY OK source="tasks" db=3.0ms idle=482.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" [97] 17:14:54.088 [debug] QUERY OK source="oban_jobs" db=2.4ms idle=485.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" = ?) [89] 17:14:54.090 [debug] QUERY OK source="settings" db=2.4ms idle=488.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:54.093 [debug] QUERY OK source="settings" db=2.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 [] 17:14:54.096 [debug] QUERY OK source="settings" db=2.0ms idle=9.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:54.099 [debug] QUERY OK source="media_profiles" db=2.2ms idle=11.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:14:54.101 [info] Sent 200 in 23ms 17:14:54.327 [debug] Current batch of media processed. Will check again in 1000ms 17:14:55.328 [debug] Current batch of media processed. Will check again in 1000ms 17:14:55.749 [info] GET /media_profiles 17:14:55.749 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 17:14:55.753 [debug] QUERY OK source="media_profiles" db=3.5ms queue=0.3ms idle=305.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:14:55.756 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=154.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:55.759 [debug] QUERY OK source="settings" db=2.6ms idle=157.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:55.762 [debug] QUERY OK source="settings" db=2.6ms idle=160.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:55.764 [info] Sent 200 in 15ms 17:14:55.802 [info] GET /sources 17:14:55.803 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 17:14:55.806 [debug] QUERY OK source="settings" db=2.6ms idle=203.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:55.809 [debug] QUERY OK source="settings" db=2.6ms idle=52.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:55.812 [debug] QUERY OK source="settings" db=2.3ms 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 [] 17:14:55.815 [debug] QUERY OK source="settings" db=2.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 [] 17:14:55.817 [debug] QUERY OK source="settings" db=2.3ms idle=52.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:55.822 [debug] QUERY OK source="sources" db=3.9ms idle=12.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)) [] 17:14:55.826 [debug] QUERY OK source="sources" db=3.5ms queue=0.2ms idle=13.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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:14:55.829 [info] Sent 200 in 26ms 17:14:56.018 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "bihdKRUPfwluXTBuJhhsLA10NglsPwhyVY9NVvOl91qVVPYG_-Sl4Xd0", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:14:56.033 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 17:14:56.037 [debug] QUERY OK source="sources" db=3.8ms idle=221.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:14:56.051 [debug] QUERY OK source="sources" db=12.9ms idle=222.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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:14:56.051 [debug] Replied in 18ms 17:14:56.329 [debug] Current batch of media processed. Will check again in 1000ms 17:14:57.271 [info] GET /settings 17:14:57.271 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 17:14:57.275 [debug] QUERY OK source="settings" db=2.9ms idle=1449.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:57.278 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=1448.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:57.281 [debug] QUERY OK source="settings" db=2.3ms idle=1240.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:14:57.283 [debug] QUERY OK source="settings" db=2.1ms idle=1230.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:57.285 [info] Sent 200 in 14ms 17:14:57.330 [debug] Current batch of media processed. Will check again in 1000ms 17:14:58.331 [debug] Current batch of media processed. Will check again in 1000ms 17:14:58.621 [info] GET /sources/1/media/96 17:14:58.621 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "96", "source_id" => "1"} Pipelines: [:browser] 17:14:58.627 [debug] QUERY OK source="media_items" db=4.5ms queue=0.1ms 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 WHERE (m0."id" = ?) [96] 17:14:58.631 [debug] QUERY OK source="sources" db=2.6ms idle=28.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:14:58.631 [debug] QUERY OK source="tasks" db=3.8ms idle=27.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [96] 17:14:58.637 [debug] QUERY OK source="oban_jobs" db=4.4ms idle=32.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" = ?) [88] 17:14:58.640 [debug] QUERY OK source="settings" db=2.7ms 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 [] 17:14:58.644 [debug] QUERY OK source="settings" db=3.5ms 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:14:58.648 [debug] QUERY OK source="settings" db=3.4ms queue=0.1ms 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 [] 17:14:58.654 [debug] QUERY OK source="media_profiles" db=4.4ms queue=0.1ms idle=18.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:14:58.657 [info] Sent 200 in 35ms 17:14:59.332 [debug] Current batch of media processed. Will check again in 1000ms 17:14:59.809 [info] GET /sources 17:14:59.809 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 17:14:59.812 [debug] QUERY OK source="settings" db=2.4ms idle=1169.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:59.814 [debug] QUERY OK source="settings" db=1.8ms idle=1168.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:59.817 [debug] QUERY OK source="settings" db=1.9ms idle=1166.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:59.820 [debug] QUERY OK source="settings" db=1.9ms idle=1163.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:59.823 [debug] QUERY OK source="settings" db=2.4ms idle=356.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:59.827 [debug] QUERY OK source="sources" db=3.5ms queue=0.1ms idle=11.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)) [] 17:14:59.831 [debug] QUERY OK source="sources" db=3.3ms queue=0.1ms idle=13.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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:14:59.834 [info] Sent 200 in 25ms 17:15:00.333 [debug] Current batch of media processed. Will check again in 1000ms 17:15:00.376 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:15:00.876 [info] GET /sources/1/media/61 17:15:00.876 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "61", "source_id" => "1"} Pipelines: [:browser] 17:15:00.880 [debug] QUERY OK source="media_items" db=3.7ms idle=1053.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" = ?) [61] 17:15:00.884 [debug] QUERY OK source="tasks" db=2.7ms idle=1053.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" [61] 17:15:00.884 [debug] QUERY OK source="sources" db=3.0ms idle=1049.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:15:00.887 [debug] QUERY OK source="oban_jobs" db=2.3ms queue=0.1ms idle=508.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" = ?) [53] 17:15:00.890 [debug] QUERY OK source="settings" db=2.8ms idle=419.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:00.893 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms 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:15:00.896 [debug] QUERY OK source="settings" db=2.0ms idle=10.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:15:00.899 [debug] QUERY OK source="media_profiles" db=2.2ms idle=12.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:15:00.904 [info] Sent 200 in 27ms 17:15:01.334 [debug] Current batch of media processed. Will check again in 1000ms 17:15:01.856 [info] GET /download_logs 17:15:01.856 [debug] Processing with PinchflatWeb.Settings.SettingController.download_logs/2 Parameters: %{} Pipelines: [:browser] 17:15:01.857 [info] Sent 200 in 606µs 17:15:02.335 [debug] Current batch of media processed. Will check again in 1000ms 17:15:02.740 [info] GET /media_profiles/1 17:15:02.740 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 17:15:02.743 [debug] QUERY OK source="media_profiles" db=2.8ms queue=0.2ms idle=263.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:15:02.747 [debug] QUERY OK source="sources" db=2.4ms queue=0.2ms idle=144.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 17:15:02.750 [debug] QUERY OK source="settings" db=1.9ms idle=148.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:02.752 [debug] QUERY OK source="settings" db=2.5ms idle=150.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:15:02.755 [debug] QUERY OK source="settings" db=1.9ms 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 [] 17:15:02.757 [info] Sent 200 in 17ms 17:15:02.786 [debug] HANDLE EVENT "update" in PinchflatWeb.Sources.SourceLive.IndexTableLive Component: PinchflatWeb.Sources.SourceLive.SourceEnableToggle Parameters: %{"_target" => ["source", "enabled"], "source" => %{"enabled" => "true"}} 17:15:02.789 [debug] QUERY OK source="sources" db=2.8ms idle=43.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:15:02.827 [debug] QUERY OK source="sources" db=36.8ms idle=43.1ms UPDATE "sources" SET "enabled" = ?, "updated_at" = ? WHERE "id" = ? [true, ~U[2025-10-27 21:15:02Z], 1] 17:15:02.839 [debug] QUERY OK source="media_items" db=11.3ms queue=0.4ms idle=77.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 17:15:02.936 [debug] QUERY OK source="tasks" db=41.7ms idle=104.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [97, 2, ~U[2025-10-27 21:15:02Z], ~U[2025-10-27 21:15:02Z]] 17:15:03.029 [debug] QUERY OK source="tasks" db=41.6ms queue=0.1ms idle=140.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [98, 6, ~U[2025-10-27 21:15:02Z], ~U[2025-10-27 21:15:02Z]] 17:15:03.151 [debug] QUERY OK source="tasks" db=71.8ms idle=136.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [99, 7, ~U[2025-10-27 21:15:03Z], ~U[2025-10-27 21:15:03Z]] 17:15:03.295 [debug] QUERY OK source="tasks" db=49.8ms idle=209.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [100, 8, ~U[2025-10-27 21:15:03Z], ~U[2025-10-27 21:15:03Z]] 17:15:03.336 [debug] Current batch of media processed. Will check again in 1000ms 17:15:03.378 [debug] QUERY OK source="tasks" db=41.2ms idle=181.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [101, 22, ~U[2025-10-27 21:15:03Z], ~U[2025-10-27 21:15:03Z]] 17:15:03.462 [debug] QUERY OK source="tasks" db=41.2ms queue=0.1ms idle=120.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [102, 23, ~U[2025-10-27 21:15:03Z], ~U[2025-10-27 21:15:03Z]] 17:15:03.605 [debug] QUERY OK source="tasks" db=91.9ms idle=92.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [103, 24, ~U[2025-10-27 21:15:03Z], ~U[2025-10-27 21:15:03Z]] 17:15:03.730 [debug] QUERY OK source="tasks" db=73.1ms queue=0.1ms idle=175.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [104, 25, ~U[2025-10-27 21:15:03Z], ~U[2025-10-27 21:15:03Z]] 17:15:03.839 [debug] QUERY OK source="tasks" db=41.6ms idle=186.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [105, 26, ~U[2025-10-27 21:15:03Z], ~U[2025-10-27 21:15:03Z]] 17:15:03.989 [debug] QUERY OK source="tasks" db=41.1ms queue=0.1ms idle=210.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [106, 27, ~U[2025-10-27 21:15:03Z], ~U[2025-10-27 21:15:03Z]] 17:15:04.253 [info] GET /sources/1/edit 17:15:04.253 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 17:15:04.337 [debug] Current batch of media processed. Will check again in 1000ms 17:15:04.359 [debug] QUERY OK source="sources" db=105.4ms idle=408.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:15:04.361 [debug] QUERY OK source="media_profiles" db=1.4ms idle=369.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:15:04.362 [debug] QUERY OK source="settings" db=0.8ms idle=366.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:04.363 [debug] QUERY OK source="settings" db=0.5ms 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 [] 17:15:04.363 [debug] QUERY OK source="settings" db=0.1ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:15:04.367 [info] Sent 200 in 114ms 17:15:04.698 [debug] QUERY OK source="tasks" db=353.1ms queue=0.1ms idle=397.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [107, 28, ~U[2025-10-27 21:15:04Z], ~U[2025-10-27 21:15:04Z]] 17:15:04.845 [debug] QUERY OK source="tasks" db=87.7ms queue=0.1ms idle=393.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [108, 29, ~U[2025-10-27 21:15:04Z], ~U[2025-10-27 21:15:04Z]] 17:15:04.972 [info] GET /sources/1/media/92 17:15:04.972 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "92", "source_id" => "1"} Pipelines: [:browser] 17:15:04.974 [debug] QUERY OK source="media_items" db=1.3ms idle=215.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [92] 17:15:04.975 [debug] QUERY OK source="tasks" db=0.9ms idle=128.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [92] 17:15:04.976 [debug] QUERY OK source="sources" db=1.9ms idle=122.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:15:04.978 [debug] QUERY OK source="oban_jobs" db=1.3ms idle=36.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" = ?) [84] 17:15:04.979 [debug] QUERY OK source="settings" db=1.0ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:15:05.057 [debug] QUERY OK source="tasks" db=116.2ms queue=0.1ms idle=237.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [109, 30, ~U[2025-10-27 21:15:04Z], ~U[2025-10-27 21:15:04Z]] 17:15:05.061 [debug] QUERY OK source="settings" db=3.2ms queue=77.8ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:15:05.062 [debug] QUERY OK source="settings" db=0.6ms idle=83.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:05.064 [debug] QUERY OK source="media_profiles" db=1.3ms idle=83.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:15:05.073 [info] Sent 200 in 100ms 17:15:05.149 [debug] QUERY OK source="tasks" db=41.4ms idle=47.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [110, 31, ~U[2025-10-27 21:15:05Z], ~U[2025-10-27 21:15:05Z]] 17:15:05.258 [debug] QUERY OK source="tasks" db=58.4ms idle=135.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [111, 32, ~U[2025-10-27 21:15:05Z], ~U[2025-10-27 21:15:05Z]] 17:15:05.338 [debug] Current batch of media processed. Will check again in 1000ms 17:15:05.358 [debug] QUERY OK source="tasks" db=44.3ms queue=0.1ms idle=158.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [112, 33, ~U[2025-10-27 21:15:05Z], ~U[2025-10-27 21:15:05Z]] 17:15:05.451 [debug] QUERY OK source="tasks" db=41.4ms queue=0.1ms idle=144.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [113, 34, ~U[2025-10-27 21:15:05Z], ~U[2025-10-27 21:15:05Z]] 17:15:05.543 [debug] QUERY OK source="tasks" db=41.3ms queue=0.1ms idle=136.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [114, 35, ~U[2025-10-27 21:15:05Z], ~U[2025-10-27 21:15:05Z]] 17:15:05.708 [debug] QUERY OK source="tasks" db=64.4ms idle=185.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [115, 36, ~U[2025-10-27 21:15:05Z], ~U[2025-10-27 21:15:05Z]] 17:15:05.793 [debug] QUERY OK source="tasks" db=41.2ms queue=0.1ms idle=109.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [116, 37, ~U[2025-10-27 21:15:05Z], ~U[2025-10-27 21:15:05Z]] 17:15:05.888 [debug] QUERY OK source="tasks" db=43.8ms idle=129.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [117, 38, ~U[2025-10-27 21:15:05Z], ~U[2025-10-27 21:15:05Z]] 17:15:05.979 [debug] QUERY OK source="tasks" db=43.4ms queue=0.1ms idle=133.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [118, 39, ~U[2025-10-27 21:15:05Z], ~U[2025-10-27 21:15:05Z]] 17:15:06.114 [debug] QUERY OK source="tasks" db=3.8ms queue=0.1ms idle=13.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"] 17:15:06.203 [debug] QUERY OK source="tasks" db=41.6ms idle=53.9ms DELETE FROM "tasks" WHERE "id" = ? [91] 17:15:06.221 [info] GET /media_profiles/2/ 17:15:06.221 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 17:15:06.223 [debug] QUERY OK source="media_profiles" db=1.7ms idle=104.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:15:06.224 [debug] QUERY OK source="sources" db=0.6ms idle=62.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 17:15:06.225 [debug] QUERY OK source="settings" db=0.6ms 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 [] 17:15:06.226 [debug] QUERY OK source="settings" db=0.6ms 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 [] 17:15:06.256 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=30.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:06.258 [info] Sent 200 in 37ms 17:15:06.306 [debug] QUERY OK source="tasks" db=51.8ms queue=0.1ms idle=29.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [119, 1, ~U[2025-10-27 21:15:06Z], ~U[2025-10-27 21:15:06Z]] 17:15:06.306 [debug] Replied in 3519ms 17:15:06.339 [debug] Current batch of media processed. Will check again in 1000ms 17:15:07.338 [info] GET /media_profiles/1/ 17:15:07.338 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 17:15:07.340 [debug] Current batch of media processed. Will check again in 1000ms 17:15:07.341 [debug] QUERY OK source="media_profiles" db=2.9ms idle=1112.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:15:07.345 [debug] QUERY OK source="sources" db=2.9ms idle=1088.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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:15:07.348 [debug] QUERY OK source="settings" db=2.4ms idle=1089.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:15:07.350 [debug] QUERY OK source="settings" db=2.3ms idle=1042.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:07.353 [debug] QUERY OK source="settings" db=2.4ms idle=630.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:07.356 [info] Sent 200 in 17ms 17:15:08.342 [debug] Current batch of media processed. Will check again in 1000ms 17:15:08.348 [info] GET /sources/2/edit 17:15:08.348 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 17:15:08.351 [debug] QUERY OK source="sources" db=2.7ms idle=1003.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:15:08.358 [debug] QUERY OK source="media_profiles" db=6.6ms idle=1003.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:15:08.362 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=1008.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:08.365 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=1008.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:15:08.369 [debug] QUERY OK source="settings" db=3.0ms idle=639.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:08.373 [info] Sent 200 in 25ms 17:15:09.342 [debug] Current batch of media processed. Will check again in 1000ms 17:15:09.917 [info] GET /media_profiles/new 17:15:09.917 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 17:15:09.920 [debug] QUERY OK source="settings" db=2.5ms idle=219.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:09.923 [debug] QUERY OK source="settings" db=2.3ms idle=222.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:09.926 [debug] QUERY OK source="settings" db=2.6ms idle=224.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:09.929 [debug] QUERY OK source="settings" db=2.1ms idle=228.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:09.932 [debug] QUERY OK source="settings" db=2.4ms idle=192.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:09.934 [info] Sent 200 in 16ms 17:15:10.343 [debug] Current batch of media processed. Will check again in 1000ms 17:15:11.038 [info] GET /sources/new 17:15:11.039 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 17:15:11.042 [debug] QUERY OK source="media_profiles" db=2.7ms idle=1116.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:15:11.045 [debug] QUERY OK source="settings" db=2.2ms idle=1116.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:11.047 [debug] QUERY OK source="settings" db=2.2ms idle=1116.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:11.050 [debug] QUERY OK source="settings" db=2.3ms idle=1115.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:11.053 [debug] QUERY OK source="settings" db=2.3ms idle=307.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:11.056 [debug] QUERY OK source="settings" db=2.2ms 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 [] 17:15:11.059 [info] Sent 200 in 20ms 17:15:11.344 [debug] Current batch of media processed. Will check again in 1000ms 17:15:12.207 [info] GET /sources/1/media/58 17:15:12.207 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "58", "source_id" => "1"} Pipelines: [:browser] 17:15:12.210 [debug] QUERY OK source="media_items" db=3.1ms idle=1160.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" = ?) [58] 17:15:12.213 [debug] QUERY OK source="sources" db=2.1ms idle=1158.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:15:12.214 [debug] QUERY OK source="tasks" db=3.3ms idle=1161.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" [58] 17:15:12.217 [debug] QUERY OK source="oban_jobs" db=2.8ms idle=1158.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" = ?) [50] 17:15:12.221 [debug] QUERY OK source="settings" db=2.8ms idle=469.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:12.224 [debug] QUERY OK source="settings" db=2.4ms 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 [] 17:15:12.226 [debug] QUERY OK source="settings" db=1.9ms 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:15:12.230 [debug] QUERY OK source="media_profiles" db=2.7ms idle=12.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:15:12.233 [info] Sent 200 in 25ms 17:15:12.345 [debug] Current batch of media processed. Will check again in 1000ms 17:15:13.323 [info] GET /sources/1/ 17:15:13.323 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 17:15:13.326 [debug] QUERY OK source="sources" db=3.1ms 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" = ?) [1] 17:15:13.329 [debug] QUERY OK source="media_profiles" db=2.2ms idle=1102.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:15:13.332 [debug] QUERY OK source="tasks" db=3.1ms idle=1102.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:15:13.335 [debug] QUERY OK source="oban_jobs" db=2.6ms queue=0.1ms idle=1102.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [119] 17:15:13.338 [debug] QUERY OK source="settings" db=2.1ms idle=582.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:13.341 [debug] QUERY OK source="settings" db=2.2ms 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 [] 17:15:13.343 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms 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 [] 17:15:13.346 [debug] Current batch of media processed. Will check again in 1000ms 17:15:13.347 [debug] QUERY OK source="sources" db=2.4ms idle=12.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:15:13.360 [debug] QUERY OK source="media_items" db=12.2ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:15:13.373 [debug] QUERY OK source="media_items" db=12.3ms idle=22.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 17:15:13.377 [debug] QUERY OK source="sources" db=2.4ms idle=33.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:15:13.381 [debug] QUERY OK source="media_items" db=3.4ms idle=34.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 17:15:13.393 [debug] QUERY OK source="media_items" db=11.4ms queue=0.1ms idle=33.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:15:13.397 [debug] QUERY OK source="sources" db=2.3ms idle=34.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:15:13.399 [debug] QUERY OK source="media_items" db=2.1ms idle=24.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] 17:15:13.416 [debug] QUERY OK source="media_items" db=16.6ms queue=0.1ms idle=22.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] 17:15:13.418 [info] Sent 200 in 95ms 17:15:14.347 [debug] Current batch of media processed. Will check again in 1000ms 17:15:14.457 [info] GET /sources/2/ 17:15:14.457 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 17:15:14.460 [debug] QUERY OK source="sources" db=3.1ms idle=1064.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:15:14.466 [debug] QUERY OK source="media_profiles" db=4.9ms idle=1064.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:15:14.471 [debug] QUERY OK source="tasks" db=4.8ms idle=1067.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 17:15:14.474 [debug] QUERY OK source="oban_jobs" db=2.5ms idle=1055.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 (?,?)) [96, 95] 17:15:14.477 [debug] QUERY OK source="settings" db=1.9ms idle=715.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:14.479 [debug] QUERY OK source="settings" db=2.3ms 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 [] 17:15:14.482 [debug] QUERY OK source="settings" db=2.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 [] 17:15:14.486 [debug] QUERY OK source="sources" db=2.5ms idle=12.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:15:14.490 [debug] QUERY OK source="media_items" db=2.5ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 17:15:14.493 [debug] QUERY OK source="media_items" db=3.2ms idle=13.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 ? [2, 10, 0] 17:15:14.496 [debug] QUERY OK source="sources" db=2.2ms idle=14.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:15:14.499 [debug] QUERY OK source="media_items" db=2.7ms idle=14.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 17:15:14.502 [debug] QUERY OK source="media_items" db=2.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 ? [2, 10, 0] 17:15:14.505 [debug] QUERY OK source="sources" db=2.0ms idle=13.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:15:14.508 [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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [2] 17:15:14.511 [debug] QUERY OK source="media_items" db=2.7ms idle=11.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 17:15:14.512 [info] Sent 200 in 55ms 17:15:15.348 [debug] Current batch of media processed. Will check again in 1000ms 17:15:15.555 [info] GET /sources/1/media/66 17:15:15.555 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "66", "source_id" => "1"} Pipelines: [:browser] 17:15:15.558 [debug] QUERY OK source="media_items" db=2.3ms idle=1053.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [66] 17:15:15.560 [debug] QUERY OK source="sources" db=1.7ms idle=1050.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:15:15.562 [debug] QUERY OK source="tasks" db=3.0ms idle=1053.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" [66] 17:15:15.564 [debug] QUERY OK source="oban_jobs" db=2.1ms idle=1051.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" = ?) [58] 17:15:15.566 [debug] QUERY OK source="settings" db=1.9ms idle=800.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:15.569 [debug] QUERY OK source="settings" db=2.3ms 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 [] 17:15:15.571 [debug] QUERY OK source="settings" db=2.0ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:15:15.575 [debug] QUERY OK source="media_profiles" db=2.2ms idle=10.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:15:15.577 [info] Sent 200 in 22ms 17:15:16.349 [debug] Current batch of media processed. Will check again in 1000ms 17:15:16.701 [info] GET /media_profiles/2 17:15:16.701 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 17:15:16.704 [debug] QUERY OK source="media_profiles" db=2.4ms idle=932.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:15:16.708 [debug] QUERY OK source="sources" db=3.4ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 17:15:16.711 [debug] QUERY OK source="settings" db=2.8ms 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 [] 17:15:16.714 [debug] QUERY OK source="settings" db=2.1ms 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 [] 17:15:16.717 [debug] QUERY OK source="settings" db=2.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 [] 17:15:16.719 [info] Sent 200 in 18ms 17:15:17.350 [debug] Current batch of media processed. Will check again in 1000ms 17:15:17.842 [info] GET /sources/1/media/57 17:15:17.842 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "57", "source_id" => "1"} Pipelines: [:browser] 17:15:17.845 [debug] QUERY OK source="media_items" db=2.1ms idle=1131.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" = ?) [57] 17:15:17.848 [debug] QUERY OK source="sources" db=2.0ms idle=1128.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:15:17.849 [debug] QUERY OK source="tasks" db=3.4ms idle=1131.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" [57] 17:15:17.852 [debug] QUERY OK source="oban_jobs" db=2.2ms idle=1074.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" = ?) [49] 17:15:17.854 [debug] QUERY OK source="settings" db=2.1ms idle=72.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:17.857 [debug] QUERY OK source="settings" db=2.6ms 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 [] 17:15:17.861 [debug] QUERY OK source="settings" db=3.5ms 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 [] 17:15:17.869 [debug] QUERY OK source="media_profiles" db=6.1ms idle=13.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:15:17.871 [info] Sent 200 in 29ms 17:15:18.351 [debug] Current batch of media processed. Will check again in 1000ms 17:15:18.976 [info] GET /sources/1/media/65 17:15:18.976 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "65", "source_id" => "1"} Pipelines: [:browser] 17:15:18.979 [debug] QUERY OK source="media_items" db=2.5ms idle=1122.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" = ?) [65] 17:15:18.981 [debug] QUERY OK source="tasks" db=1.9ms idle=1122.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" [65] 17:15:18.982 [debug] QUERY OK source="sources" db=2.1ms idle=1118.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:15:18.985 [debug] QUERY OK source="oban_jobs" db=2.4ms idle=1113.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" = ?) [57] 17:15:18.987 [debug] QUERY OK source="settings" db=2.2ms idle=201.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:18.990 [debug] QUERY OK source="settings" db=2.6ms 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 [] 17:15:18.993 [debug] QUERY OK source="settings" db=2.2ms 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 [] 17:15:18.996 [debug] QUERY OK source="media_profiles" db=1.9ms idle=12.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:15:18.998 [info] Sent 200 in 22ms 17:15:19.352 [debug] Current batch of media processed. Will check again in 1000ms 17:15:19.629 [info] {"source":"oban","duration":4484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:20.116 [info] GET /media/44b0cc4a-172d-4c32-8e04-1c62a449d875/stream 17:15:20.116 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "44b0cc4a-172d-4c32-8e04-1c62a449d875", "v" => "1761596748"} Pipelines: [:maybe_basic_auth] 17:15:20.120 [debug] QUERY OK source="media_items" db=3.1ms queue=0.3ms idle=1126.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["44b0cc4a-172d-4c32-8e04-1c62a449d875"] 17:15:20.120 [debug] Invalid range request for media item: 44b0cc4a-172d-4c32-8e04-1c62a449d875 - serving full file 17:15:20.120 [info] Sent 200 in 4ms 17:15:20.353 [debug] Current batch of media processed. Will check again in 1000ms 17:15:21.239 [info] GET /sources/1/media/59 17:15:21.239 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "59", "source_id" => "1"} Pipelines: [:browser] 17:15:21.242 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=1119.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" = ?) [59] 17:15:21.245 [debug] QUERY OK source="tasks" db=2.1ms idle=544.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" [59] 17:15:21.245 [debug] QUERY OK source="sources" db=2.3ms idle=544.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:15:21.248 [debug] QUERY OK source="oban_jobs" db=2.2ms idle=547.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" = ?) [51] 17:15:21.251 [debug] QUERY OK source="settings" db=2.3ms idle=455.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:21.253 [debug] QUERY OK source="settings" db=2.2ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:15:21.256 [debug] QUERY OK source="settings" db=2.0ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:15:21.259 [debug] QUERY OK source="media_profiles" db=2.4ms 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:15:21.262 [info] Sent 200 in 22ms 17:15:21.354 [debug] Current batch of media processed. Will check again in 1000ms 17:15:22.355 [debug] Current batch of media processed. Will check again in 1000ms 17:15:22.416 [info] GET /sources/1/media/93 17:15:22.417 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "93", "source_id" => "1"} Pipelines: [:browser] 17:15:22.420 [debug] QUERY OK source="media_items" db=2.8ms idle=1166.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" = ?) [93] 17:15:22.422 [debug] QUERY OK source="sources" db=1.9ms idle=1164.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:15:22.423 [debug] QUERY OK source="tasks" db=2.8ms idle=1166.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [93] 17:15:22.426 [debug] QUERY OK source="oban_jobs" db=2.0ms idle=1164.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" = ?) [85] 17:15:22.428 [debug] QUERY OK source="settings" db=2.1ms idle=628.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:22.431 [debug] QUERY OK source="settings" db=2.3ms 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 [] 17:15:22.434 [debug] QUERY OK source="settings" db=2.1ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:15:22.437 [debug] QUERY OK source="media_profiles" db=2.3ms idle=11.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:15:22.439 [info] Sent 200 in 22ms 17:15:23.356 [debug] Current batch of media processed. Will check again in 1000ms 17:15:23.596 [info] GET /sources/1/media/56 17:15:23.597 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "56", "source_id" => "1"} Pipelines: [:browser] 17:15:23.601 [debug] QUERY OK source="media_items" db=3.4ms idle=1168.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" = ?) [56] 17:15:23.603 [debug] QUERY OK source="tasks" db=2.1ms idle=1170.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" [56] 17:15:23.603 [debug] QUERY OK source="sources" db=2.2ms idle=1167.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:15:23.606 [debug] QUERY OK source="oban_jobs" db=1.7ms idle=1166.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [48] 17:15:23.608 [debug] QUERY OK source="settings" db=2.0ms idle=803.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:23.610 [debug] QUERY OK source="settings" db=2.1ms 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 [] 17:15:23.613 [debug] QUERY OK source="settings" db=2.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 [] 17:15:23.616 [debug] QUERY OK source="media_profiles" db=1.8ms queue=0.1ms idle=10.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:15:23.619 [info] Sent 200 in 22ms 17:15:24.357 [debug] Current batch of media processed. Will check again in 1000ms 17:15:24.764 [info] GET /sources/1/media/99 17:15:24.764 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "99", "source_id" => "1"} Pipelines: [:browser] 17:15:24.767 [debug] QUERY OK source="media_items" db=2.5ms idle=956.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" = ?) [99] 17:15:24.769 [debug] QUERY OK source="sources" db=1.7ms idle=68.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:15:24.770 [debug] QUERY OK source="tasks" db=2.5ms idle=68.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" [99] 17:15:24.773 [debug] QUERY OK source="oban_jobs" db=2.5ms idle=71.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" = ?) [91] 17:15:24.775 [debug] QUERY OK source="settings" db=2.1ms idle=74.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:24.778 [debug] QUERY OK source="settings" db=2.3ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:15:24.781 [debug] QUERY OK source="settings" db=2.0ms 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 [] 17:15:24.784 [debug] QUERY OK source="media_profiles" db=2.4ms idle=12.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:15:24.787 [info] Sent 200 in 23ms 17:15:25.358 [debug] Current batch of media processed. Will check again in 1000ms 17:15:25.870 [info] GET /sources/1/media/91 17:15:25.870 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91", "source_id" => "1"} Pipelines: [:browser] 17:15:25.873 [debug] QUERY OK source="media_items" db=2.7ms idle=1092.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" = ?) [91] 17:15:25.876 [debug] QUERY OK source="sources" db=2.1ms idle=1089.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:15:25.877 [debug] QUERY OK source="tasks" db=2.9ms idle=1092.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" [91] 17:15:25.879 [debug] QUERY OK source="oban_jobs" db=1.8ms idle=1065.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [83] 17:15:25.881 [debug] QUERY OK source="settings" db=1.8ms idle=62.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:25.884 [debug] QUERY OK source="settings" db=2.3ms 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:15:25.887 [debug] QUERY OK source="settings" db=1.9ms 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 [] 17:15:25.890 [debug] QUERY OK source="media_profiles" db=2.0ms idle=10.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:15:25.892 [info] Sent 200 in 22ms 17:15:26.359 [debug] Current batch of media processed. Will check again in 1000ms 17:15:27.054 [info] GET /sources/1/media/98 17:15:27.054 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "98", "source_id" => "1"} Pipelines: [:browser] 17:15:27.058 [debug] QUERY OK source="media_items" db=2.8ms idle=1173.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" = ?) [98] 17:15:27.060 [debug] QUERY OK source="sources" db=2.1ms idle=1171.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:15:27.061 [debug] QUERY OK source="tasks" db=2.6ms idle=1173.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" [98] 17:15:27.063 [debug] QUERY OK source="oban_jobs" db=2.4ms idle=1170.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" = ?) [90] 17:15:27.066 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms idle=241.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:27.069 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms 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 [] 17:15:27.072 [debug] QUERY OK source="settings" db=2.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:15:27.075 [debug] QUERY OK source="media_profiles" db=2.3ms idle=12.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:15:27.078 [info] Sent 200 in 23ms 17:15:27.360 [debug] Current batch of media processed. Will check again in 1000ms 17:15:28.163 [info] GET /sources/1/media/64 17:15:28.163 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "64", "source_id" => "1"} Pipelines: [:browser] 17:15:28.166 [debug] QUERY OK source="media_items" db=2.8ms idle=1097.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" = ?) [64] 17:15:28.169 [debug] QUERY OK source="tasks" db=2.3ms queue=0.1ms idle=1098.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" [64] 17:15:28.170 [debug] QUERY OK source="sources" db=2.5ms idle=1095.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:15:28.172 [debug] QUERY OK source="oban_jobs" db=2.0ms idle=1094.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" = ?) [56] 17:15:28.175 [debug] QUERY OK source="settings" db=2.2ms idle=345.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:28.177 [debug] QUERY OK source="settings" db=1.8ms 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:15:28.180 [debug] QUERY OK source="settings" db=2.2ms 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 [] 17:15:28.183 [debug] QUERY OK source="media_profiles" db=2.1ms idle=11.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:15:28.186 [info] Sent 200 in 23ms 17:15:28.361 [debug] Current batch of media processed. Will check again in 1000ms 17:15:29.327 [info] GET /sources/1/media/62 17:15:29.327 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "62", "source_id" => "1"} Pipelines: [:browser] 17:15:29.332 [debug] QUERY OK source="media_items" db=4.4ms idle=1152.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" = ?) [62] 17:15:29.337 [debug] QUERY OK source="sources" db=3.8ms idle=1152.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:15:29.338 [debug] QUERY OK source="tasks" db=5.4ms idle=1155.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" [62] 17:15:29.342 [debug] QUERY OK source="oban_jobs" db=3.9ms idle=1155.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" = ?) [54] 17:15:29.345 [debug] QUERY OK source="settings" db=2.2ms idle=510.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:29.348 [debug] QUERY OK source="settings" db=2.6ms 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 [] 17:15:29.351 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms 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:15:29.356 [debug] QUERY OK source="media_profiles" db=3.0ms idle=14.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:15:29.359 [info] Sent 200 in 32ms 17:15:29.362 [debug] Current batch of media processed. Will check again in 1000ms 17:15:30.363 [debug] Current batch of media processed. Will check again in 1000ms 17:15:30.517 [info] GET /sources/1/media/95 17:15:30.517 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "95", "source_id" => "1"} Pipelines: [:browser] 17:15:30.521 [debug] QUERY OK source="media_items" db=2.7ms idle=1172.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" = ?) [95] 17:15:30.524 [debug] QUERY OK source="tasks" db=2.4ms idle=1172.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [95] 17:15:30.524 [debug] QUERY OK source="sources" db=2.7ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:15:30.527 [debug] QUERY OK source="oban_jobs" db=2.4ms idle=1168.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" = ?) [87] 17:15:30.529 [debug] QUERY OK source="settings" db=2.3ms idle=690.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:30.532 [debug] QUERY OK source="settings" db=2.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:15:30.535 [debug] QUERY OK source="settings" db=1.9ms 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 [] 17:15:30.538 [debug] QUERY OK source="media_profiles" db=2.3ms idle=11.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:15:30.540 [info] Sent 200 in 23ms 17:15:31.364 [debug] Current batch of media processed. Will check again in 1000ms 17:15:31.625 [info] GET /sources/1/media/60 17:15:31.625 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "60", "source_id" => "1"} Pipelines: [:browser] 17:15:31.628 [debug] QUERY OK source="media_items" db=2.6ms idle=1095.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" = ?) [60] 17:15:31.631 [debug] QUERY OK source="sources" db=1.8ms idle=1093.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:15:31.631 [debug] QUERY OK source="tasks" db=2.5ms idle=1096.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" [60] 17:15:31.634 [debug] QUERY OK source="oban_jobs" db=2.1ms idle=1093.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" = ?) [52] 17:15:31.637 [debug] QUERY OK source="settings" db=2.5ms idle=793.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:31.639 [debug] QUERY OK source="settings" db=2.4ms 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 [] 17:15:31.642 [debug] QUERY OK source="settings" db=1.9ms 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:15:31.645 [debug] QUERY OK source="media_profiles" db=2.0ms idle=11.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:15:31.648 [info] Sent 200 in 22ms 17:15:32.365 [debug] Current batch of media processed. Will check again in 1000ms 17:15:32.757 [info] GET /sources/1/media/100/force_download 17:15:32.760 [debug] QUERY OK source="settings" db=2.6ms 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 [] 17:15:32.763 [debug] QUERY OK source="settings" db=2.3ms idle=61.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:32.763 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:15:32.763 [error] #PID<0.3591.0> running PinchflatWeb.Endpoint (connection #PID<0.3550.0>, stream id 11) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/100/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/100/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3550.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/100/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54370}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.3591.0>, params: %{}, path_info: ["sources", "1", "media", "100", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/100/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ1n6NuuV09r7QAAC1B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3550.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/100/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54370}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/100/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3550.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/100/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54370}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", (truncated) 17:15:33.366 [debug] Current batch of media processed. Will check again in 1000ms 17:15:33.955 [info] GET /media_profiles/1/edit 17:15:33.955 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 17:15:33.959 [debug] QUERY OK source="media_profiles" db=2.7ms idle=1257.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:15:33.961 [debug] QUERY OK source="settings" db=1.8ms idle=1199.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:33.964 [debug] QUERY OK source="settings" db=2.1ms idle=1198.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:33.966 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=1115.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:15:33.969 [info] Sent 200 in 13ms 17:15:34.367 [debug] Current batch of media processed. Will check again in 1000ms 17:15:35.368 [debug] Current batch of media processed. Will check again in 1000ms 17:15:36.369 [debug] Current batch of media processed. Will check again in 1000ms 17:15:37.272 [info] GET /media_profiles/2/edit 17:15:37.272 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 17:15:37.275 [debug] QUERY OK source="media_profiles" db=2.9ms idle=1573.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:15:37.278 [debug] QUERY OK source="settings" db=2.4ms idle=1577.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:15:37.281 [debug] QUERY OK source="settings" db=2.2ms idle=1580.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:37.284 [debug] QUERY OK source="settings" db=2.3ms idle=1417.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:37.287 [info] Sent 200 in 15ms 17:15:37.370 [debug] Current batch of media processed. Will check again in 1000ms 17:15:38.371 [debug] Current batch of media processed. Will check again in 1000ms 17:15:39.372 [debug] Current batch of media processed. Will check again in 1000ms 17:15:40.373 [debug] Current batch of media processed. Will check again in 1000ms 17:15:40.524 [info] GET /sources/1/media/100/edit 17:15:40.524 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "100", "source_id" => "1"} Pipelines: [:browser] 17:15:40.528 [debug] QUERY OK source="media_items" db=3.3ms idle=1825.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" = ?) [100] 17:15:40.531 [debug] QUERY OK source="settings" db=2.4ms idle=1829.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:40.533 [debug] QUERY OK source="settings" db=2.4ms idle=1832.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:40.536 [debug] QUERY OK source="settings" db=2.3ms idle=1654.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:40.538 [info] Sent 200 in 14ms 17:15:41.374 [debug] Current batch of media processed. Will check again in 1000ms 17:15:42.375 [debug] Current batch of media processed. Will check again in 1000ms 17:15:43.292 [info] GET /sources/1/media/94 17:15:43.293 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "94", "source_id" => "1"} Pipelines: [:browser] 17:15:43.296 [debug] QUERY OK source="media_items" db=2.9ms idle=1594.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" = ?) [94] 17:15:43.298 [debug] QUERY OK source="tasks" db=1.9ms idle=1597.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [94] 17:15:43.299 [debug] QUERY OK source="sources" db=2.3ms idle=1403.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:15:43.302 [debug] QUERY OK source="oban_jobs" db=2.7ms idle=600.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" = ?) [86] 17:15:43.305 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=405.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:43.307 [debug] QUERY OK source="settings" db=2.1ms 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:15:43.310 [debug] QUERY OK source="settings" db=2.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 [] 17:15:43.313 [debug] QUERY OK source="media_profiles" db=1.9ms idle=12.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:15:43.315 [info] Sent 200 in 22ms 17:15:43.376 [debug] Current batch of media processed. Will check again in 1000ms 17:15:44.377 [debug] Current batch of media processed. Will check again in 1000ms 17:15:45.378 [debug] Current batch of media processed. Will check again in 1000ms 17:15:45.708 [info] GET /sources/1/force_index 17:15:45.710 [debug] QUERY OK source="settings" db=2.2ms idle=1009.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:15:45.713 [debug] QUERY OK source="settings" db=2.2ms idle=1012.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:45.713 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:15:45.714 [error] #PID<0.3601.0> running PinchflatWeb.Endpoint (connection #PID<0.3550.0>, stream id 16) terminated Server: pinchflat.home.johnhollowell.com: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.3550.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54370}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.3601.0>, params: %{}, path_info: ["sources", "1", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ1oqdYpzAWnbAAAC4h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3550.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54370}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 16, 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.3550.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54370}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", (truncated) 17:15:46.379 [debug] Current batch of media processed. Will check again in 1000ms 17:15:47.380 [debug] Current batch of media processed. Will check again in 1000ms 17:15:48.067 [info] GET /sources/2/force_index 17:15:48.070 [debug] QUERY OK source="settings" db=2.3ms idle=1369.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:48.073 [debug] QUERY OK source="settings" db=2.5ms idle=1156.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:48.073 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:15:48.074 [error] #PID<0.3602.0> running PinchflatWeb.Endpoint (connection #PID<0.3550.0>, stream id 17) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3550.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54370}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 17, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.3602.0>, params: %{}, path_info: ["sources", "2", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/2/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ1ozQAsOUjPO0AAC5B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3550.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54370}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 17, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3550.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54370}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", (truncated) 17:15:48.381 [debug] Current batch of media processed. Will check again in 1000ms 17:15:49.382 [debug] Current batch of media processed. Will check again in 1000ms 17:15:49.633 [info] {"source":"oban","duration":3951,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:50.383 [debug] Current batch of media processed. Will check again in 1000ms 17:15:51.384 [debug] Current batch of media processed. Will check again in 1000ms 17:15:52.385 [debug] Current batch of media processed. Will check again in 1000ms 17:15:53.386 [debug] Current batch of media processed. Will check again in 1000ms 17:15:54.387 [debug] Current batch of media processed. Will check again in 1000ms 17:15:54.662 [info] GET /sources/2/sync_files_on_disk 17:15:54.665 [debug] QUERY OK source="settings" db=3.3ms idle=1719.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:54.668 [debug] QUERY OK source="settings" db=2.4ms idle=967.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:54.668 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:15:54.669 [error] #PID<0.3604.0> running PinchflatWeb.Endpoint (connection #PID<0.3603.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3603.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 43160}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.3604.0>, params: %{}, path_info: ["sources", "2", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/2/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ1pL0LVSbVuvEAAAHj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3603.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 43160}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3603.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 43160}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", (truncated) 17:15:55.388 [debug] Current batch of media processed. Will check again in 1000ms 17:15:56.389 [debug] Current batch of media processed. Will check again in 1000ms 17:15:57.391 [debug] Current batch of media processed. Will check again in 1000ms 17:15:58.391 [debug] Current batch of media processed. Will check again in 1000ms 17:15:59.392 [debug] Current batch of media processed. Will check again in 1000ms 17:16:00.377 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:16:00.393 [debug] Current batch of media processed. Will check again in 1000ms 17:16:01.394 [debug] Current batch of media processed. Will check again in 1000ms 17:16:02.395 [debug] Current batch of media processed. Will check again in 1000ms 17:16:03.396 [debug] Current batch of media processed. Will check again in 1000ms 17:16:04.397 [debug] Current batch of media processed. Will check again in 1000ms 17:16:05.398 [debug] Current batch of media processed. Will check again in 1000ms 17:16:06.399 [debug] Current batch of media processed. Will check again in 1000ms 17:16:07.400 [debug] Current batch of media processed. Will check again in 1000ms 17:16:07.830 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k-LoFJrez1A --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/66/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/25/34/2534331c1b91cd32f9e64dc1de5041193e4eca75833e1edf1ed58df661fbcd03.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] k-LoFJrez1A: nsig extraction failed: Some formats may be missing n = jvIMNd8smY8NRPWb ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] k-LoFJrez1A: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] k-LoFJrez1A: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:16:07.831 [debug] QUERY OK db=0.3ms idle=819.5ms begin [] 17:16:07.859 [debug] QUERY OK source="media_items" db=27.5ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 21:14:36Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e53 - Minecraft_-_Shadow_of_Israphel_Part_15_-_The_Battle_of_the_Breach.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e53 - Minecraft_-_Shadow_of_Israphel_Part_15_-_The_Battle_of_the_Breach.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e53 - Minecraft_-_Shadow_of_Israphel_Part_15_-_The_Battle_of_the_Breach.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e53 - Minecraft_-_Shadow_of_Israphel_Part_15_-_The_Battle_of_the_Breach-thumb.jpg", ~U[2025-10-27 21:16:07Z], 66] 17:16:07.862 [debug] QUERY OK source="media_metadata" db=3.0ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/66/metadata.json.gz", "/config/metadata/media_items/66/thumbnail.jpg", 66, ~U[2025-10-27 21:16:07Z], ~U[2025-10-27 21:16:07Z]] 17:16:07.937 [debug] QUERY OK db=74.9ms commit [] 17:16:08.059 [debug] QUERY OK source="media_items" db=119.3ms idle=240.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [239147542, ~U[2025-10-27 21:16:07Z], 66] 17:16:08.060 [info] User scripts lifecyle file either not present or is empty. Skipping. 17:16:08.109 [info] {"args":{"id":66},"id":58,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":352432701,"event":"job:stop","queue_time":8941583638,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 17:16:08.172 [info] {"args":{"id":67},"id":59,"meta":{},"system_time":1761599768172413742,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 17:16:08.176 [debug] QUERY OK source="media_items" db=3.1ms idle=235.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [67] 17:16:08.176 [info] User scripts lifecyle file either not present or is empty. Skipping. 17:16:08.179 [debug] QUERY OK source="sources" db=2.5ms 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] 17:16:08.181 [debug] QUERY OK source="media_profiles" db=2.3ms idle=111.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:16:08.185 [debug] QUERY OK source="media_items" db=3.5ms idle=72.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] 17:16:08.189 [debug] QUERY OK source="media_metadata" db=2.3ms idle=15.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [67] 17:16:08.192 [debug] QUERY OK source="media_profiles" db=2.7ms 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] 17:16:08.196 [debug] QUERY OK source="settings" db=2.6ms 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 [] 17:16:08.199 [debug] QUERY OK source="settings" db=3.3ms 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 [] 17:16:08.201 [debug] Running yt-dlp command for action: get_downloadable_status 17:16:08.204 [debug] QUERY OK source="settings" db=2.3ms 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 [] 17:16:08.207 [debug] QUERY OK source="settings" db=2.6ms 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 [] 17:16:08.210 [debug] QUERY OK source="settings" db=2.4ms 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 [] 17:16:08.210 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3071VQtKEAE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d3/d6/d3d6c5bd3f4443cd61fd62916e910a3a8379202de98d1a99e345cbc8e1e79533.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:16:08.401 [debug] Current batch of media processed. Will check again in 1000ms 17:16:09.402 [debug] Current batch of media processed. Will check again in 1000ms 17:16:10.155 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PL3XZNMGhpynOcqv-_8opIEXbDeIk3I3tX --simulate --skip-download --ignore-no-formats-error --playlist-end 1 --output /downloads/series/YogLabs 2/Season 1/s01e00 - %(title)S.%(ext)S --print-to-file %(.{channel,channel_id,playlist_id,playlist_title,filename})j /tmp/pinchflat/data/07/11/071141e5b4a9f4d90d77a585714647076c66a37c261cab58cc843ec0ccf09b1d.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] uv06bzr7Y3U: nsig extraction failed: Some formats may be missing n = _IWqNeS0nzLW5_pJ ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] uv06bzr7Y3U: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] uv06bzr7Y3U: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:16:10.156 [debug] Running yt-dlp command for action: get_source_metadata 17:16:10.160 [debug] QUERY OK source="settings" db=2.4ms queue=0.2ms idle=458.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:10.162 [debug] QUERY OK source="settings" db=1.9ms idle=461.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:10.164 [debug] QUERY OK source="settings" db=2.0ms idle=463.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:10.165 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PL3XZNMGhpynOcqv-_8opIEXbDeIk3I3tX --skip-download --convert-thumbnails jpg --output /tmp/pinchflat/data/676358c848572233/source_image.%(ext)S --write-thumbnail --playlist-items 1 --print-to-file playlist:%()j /tmp/pinchflat/data/b4/6d/b46d94bbbfd1ecda20b64674f73533d4316aec08f383794cd15878999ac694ae.json --sleep-requests 11 --sleep-interval 14 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:16:10.403 [debug] Current batch of media processed. Will check again in 1000ms 17:16:11.404 [debug] Current batch of media processed. Will check again in 1000ms 17:16:12.405 [debug] Current batch of media processed. Will check again in 1000ms 17:16:13.406 [debug] Current batch of media processed. Will check again in 1000ms 17:16:14.407 [debug] Current batch of media processed. Will check again in 1000ms 17:16:15.408 [debug] Current batch of media processed. Will check again in 1000ms 17:16:15.932 [info] GET /sources/1/sync_files_on_disk 17:16:15.936 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=826.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15.938 [debug] QUERY OK source="settings" db=2.0ms idle=237.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15.938 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:16:15.939 [error] #PID<0.3612.0> running PinchflatWeb.Endpoint (connection #PID<0.3611.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com: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.3611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51220}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.3612.0>, params: %{}, path_info: ["sources", "1", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], 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", "GHJ1qbDf65vcm_UAADTi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51220}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51220}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", (truncated) 17:16:16.409 [debug] Current batch of media processed. Will check again in 1000ms 17:16:17.410 [debug] Current batch of media processed. Will check again in 1000ms 17:16:18.411 [debug] Current batch of media processed. Will check again in 1000ms 17:16:19.412 [debug] Current batch of media processed. Will check again in 1000ms 17:16:19.639 [info] {"source":"oban","duration":5161,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:20.413 [debug] Current batch of media processed. Will check again in 1000ms 17:16:21.414 [debug] Current batch of media processed. Will check again in 1000ms 17:16:22.415 [debug] Current batch of media processed. Will check again in 1000ms 17:16:23.416 [debug] Current batch of media processed. Will check again in 1000ms 17:16:24.417 [debug] Current batch of media processed. Will check again in 1000ms 17:16:25.418 [debug] Current batch of media processed. Will check again in 1000ms 17:16:26.419 [debug] Current batch of media processed. Will check again in 1000ms 17:16:27.420 [debug] Current batch of media processed. Will check again in 1000ms 17:16:28.421 [debug] Current batch of media processed. Will check again in 1000ms 17:16:29.423 [debug] Current batch of media processed. Will check again in 1000ms 17:16:30.423 [debug] Current batch of media processed. Will check again in 1000ms 17:16:31.425 [debug] Current batch of media processed. Will check again in 1000ms 17:16:32.425 [debug] Current batch of media processed. Will check again in 1000ms 17:16:33.426 [debug] Current batch of media processed. Will check again in 1000ms 17:16:34.427 [debug] Current batch of media processed. Will check again in 1000ms 17:16:35.428 [debug] Current batch of media processed. Will check again in 1000ms 17:16:36.429 [debug] Current batch of media processed. Will check again in 1000ms 17:16:37.430 [debug] Current batch of media processed. Will check again in 1000ms 17:16:38.431 [debug] Current batch of media processed. Will check again in 1000ms 17:16:39.432 [debug] Current batch of media processed. Will check again in 1000ms 17:16:40.433 [debug] Current batch of media processed. Will check again in 1000ms 17:16:41.434 [debug] Current batch of media processed. Will check again in 1000ms 17:16:42.436 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "YogLabs returns! Lewis and Simon are back to explore a brand new facility hidden deep in the mountains filled with all the classic YogLabs chaos you could want!\n⚠️ WARNING: Bungupinol only delays fecal disasters but does not stop them completely.\n\n⭐ Support the series and join as a member to get early access to the next episode: https://youtu.be/4Axzow0utfQ\n✨ And enjoy an exclusive behind the scenes vault door creation video! https://youtu.be/wNydbzM-shU\n🔬 YogLabs 2 Merch! https://store.yogscast.com/collection/yoglabs/\n\n❗ Featured mod - MrCrayfish's Furniture Mod: https://www.curseforge.com/minecraft/mc-mods/refurbished-furniture\n⛏️ Music synthesised at the Deepforge Sound Labs (https://deepforge.co/) - Official Soundtrack available soon!\n\n💖 BECOME A MEMBER: https://www.youtube.com/channel/UCH-_hzb2ILSCo9ftVSnrCIQ/join \n📺 YogLabs 2 playlist: https://www.youtube.com/playlist?list=PL3XZNMGhpynOcqv-_8opIEXbDeIk3I3tX\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n\n▬▬▬▬▬\n\nWho's in the video:\nLewis: @yogscast \nSimon: https://www.twitch.tv/simonhoneydew\n\n▬▬▬▬▬\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nBluesky: https://bsky.app/profile/yogscast.com\nWatch us live on Twitch every day! http://www.twitch.tv/yogscast/ \n\n▬▬▬▬▬\n\nProduction music courtesy of Epidemic Sound \n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT\n\n#yogscast #yoglabs #moddedminecraft", "duration" => 1222, "filename" => "/downloads/series/YogLabs 2/Season 1/s01e00 - We_re_back_baby_YogLabs_2.mp4", "id" => "uv06bzr7Y3U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=uv06bzr7Y3U", "playlist_index" => 1, "timestamp" => 1760634006, "title" => "We're back, baby! | YogLabs 2", "upload_date" => "20251016"} 17:16:42.440 [debug] QUERY OK source="sources" db=3.5ms idle=1199.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:16:42.444 [debug] QUERY OK source="sources" db=3.2ms queue=0.1ms idle=741.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:16:42.447 [debug] QUERY OK source="media_items" db=2.9ms queue=0.3ms idle=745.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-16 17:00:06Z], 2] 17:16:42.551 [debug] QUERY OK source="media_items" db=102.5ms idle=749.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" ["YogLabs returns! Lewis and Simon are back to explore a brand new facility hidden deep in the mountains filled with all the classic YogLabs chaos you could want!\n⚠️ WARNING: Bungupinol only delays fecal disasters but does not stop them completely.\n\n⭐ Support the series and join as a member to get early access to the next episode: https://youtu.be/4Axzow0utfQ\n✨ And enjoy an exclusive behind the scenes vault door creation video! https://youtu.be/wNydbzM-shU\n🔬 YogLabs 2 Merch! https://store.yogscast.com/collection/yoglabs/\n\n❗ Featured mod - MrCrayfish's Furniture Mod: https://www.curseforge.com/minecraft/mc-mods/refurbished-furniture\n⛏️ Music synthesised at the Deepforge Sound Labs (https://deepforge.co/) - Official Soundtrack available soon!\n\n💖 BECOME A MEMBER: https://www.youtube.com/channel/UCH-_hzb2ILSCo9ftVSnrCIQ/join \n📺 YogLabs 2 playlist: https://www.youtube.com/playlist?list=PL3XZNMGhpynOcqv-_8opIEXbDeIk3I3tX\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n\n▬▬▬▬▬\n\nWho's in the video:\nLewis: @yogscast \nSimon: https://www.twitch.tv/simonhoneydew\n\n▬▬▬▬▬\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nBluesky: https://bsky.app/profile/yogscast.com\nWatch us live on Twitch every day! http://www.twitch.tv/yogscast/ \n\n▬▬▬▬▬\n\nProduction music courtesy of Epidemic Sound \n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT\n\n#yogscast #yoglabs #moddedminecraft", "We're back, baby! | YogLabs 2", "e02335de-86b0-4146-a553-1b15581582ff", 1222, false, "uv06bzr7Y3U", "https://www.youtube.com/watch?v=uv06bzr7Y3U", 1, "/downloads/series/YogLabs 2/Season 1/s01e00 - We_re_back_baby_YogLabs_2.mp4", false, false, false, 2, [], 0, ~U[2025-10-16 17:00:06Z], ~U[2025-10-27 21:16:42Z], ~U[2025-10-27 21:16:42Z], "YogLabs returns! Lewis and Simon are back to explore a brand new facility hidden deep in the mountains filled with all the classic YogLabs chaos you could want!\n⚠️ WARNING: Bungupinol only delays fecal disasters but does not stop them completely.\n\n⭐ Support the series and join as a member to get early access to the next episode: https://youtu.be/4Axzow0utfQ\n✨ And enjoy an exclusive behind the scenes vault door creation video! https://youtu.be/wNydbzM-shU\n🔬 YogLabs 2 Merch! https://store.yogscast.com/collection/yoglabs/\n\n❗ Featured mod - MrCrayfish's Furniture Mod: https://www.curseforge.com/minecraft/mc-mods/refurbished-furniture\n⛏️ Music synthesised at the Deepforge Sound Labs (https://deepforge.co/) - Official Soundtrack available soon!\n\n💖 BECOME A MEMBER: https://www.youtube.com/channel/UCH-_hzb2ILSCo9ftVSnrCIQ/join \n📺 YogLabs 2 playlist: https://www.youtube.com/playlist?list=PL3XZNMGhpynOcqv-_8opIEXbDeIk3I3tX\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n\n▬▬▬▬▬\n\nWho's in the video:\nLewis: @yogscast \nSimon: https://www.twitch.tv/simonhoneydew\n\n▬▬▬▬▬\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nBluesky: https://bsky.app/profile/yogscast.com\nWatch us live on Twitch every day! http://www.twitch.tv/yogscast/ \n\n▬▬▬▬▬\n\nProduction music courtesy of Epidemic Sound \n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT\n\n#yogscast #yoglabs #moddedminecraft", "We're back, baby! | YogLabs 2", 1222, false, "uv06bzr7Y3U", "https://www.youtube.com/watch?v=uv06bzr7Y3U", "/downloads/series/YogLabs 2/Season 1/s01e00 - We_re_back_baby_YogLabs_2.mp4", false, 2, ~U[2025-10-16 17:00:06Z]] 17:16:42.555 [debug] QUERY OK source="sources" db=3.3ms queue=0.1ms idle=309.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:16:42.560 [debug] QUERY OK source="media_profiles" db=3.8ms queue=0.1ms idle=115.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:16:42.564 [debug] QUERY OK source="media_items" db=4.0ms idle=116.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 [188] 17:16:42.565 [info] Kicking off download for media item #188 (uv06bzr7Y3U) 17:16:42.677 [debug] QUERY OK source="tasks" db=49.5ms queue=0.2ms idle=71.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [120, 188, ~U[2025-10-27 21:16:42Z], ~U[2025-10-27 21:16:42Z]] 17:16:42.677 [debug] Current batch of media processed. Will check again in 1000ms 17:16:43.677 [debug] Current batch of media processed. Will check again in 1000ms 17:16:44.678 [debug] Current batch of media processed. Will check again in 1000ms 17:16:45.679 [debug] Current batch of media processed. Will check again in 1000ms 17:16:46.680 [debug] Current batch of media processed. Will check again in 1000ms 17:16:47.681 [debug] Current batch of media processed. Will check again in 1000ms 17:16:48.682 [debug] Current batch of media processed. Will check again in 1000ms 17:16:49.646 [info] {"source":"oban","duration":5369,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:49.683 [debug] Current batch of media processed. Will check again in 1000ms 17:16:50.684 [debug] Current batch of media processed. Will check again in 1000ms 17:16:51.685 [debug] Current batch of media processed. Will check again in 1000ms 17:16:52.686 [debug] Current batch of media processed. Will check again in 1000ms 17:16:53.687 [debug] Current batch of media processed. Will check again in 1000ms 17:16:54.688 [debug] Current batch of media processed. Will check again in 1000ms 17:16:55.689 [debug] Current batch of media processed. Will check again in 1000ms 17:16:56.690 [debug] Current batch of media processed. Will check again in 1000ms 17:16:57.691 [debug] Current batch of media processed. Will check again in 1000ms 17:16:58.692 [debug] Current batch of media processed. Will check again in 1000ms 17:16:59.693 [debug] Current batch of media processed. Will check again in 1000ms 17:17:00.378 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:17:00.694 [debug] Current batch of media processed. Will check again in 1000ms 17:17:01.695 [debug] Current batch of media processed. Will check again in 1000ms 17:17:02.696 [debug] Current batch of media processed. Will check again in 1000ms 17:17:03.697 [debug] Current batch of media processed. Will check again in 1000ms 17:17:04.698 [debug] Current batch of media processed. Will check again in 1000ms 17:17:05.699 [debug] Current batch of media processed. Will check again in 1000ms 17:17:06.700 [debug] Current batch of media processed. Will check again in 1000ms 17:17:07.701 [debug] Current batch of media processed. Will check again in 1000ms 17:17:08.702 [debug] Current batch of media processed. Will check again in 1000ms 17:17:09.703 [debug] Current batch of media processed. Will check again in 1000ms 17:17:10.704 [debug] Current batch of media processed. Will check again in 1000ms 17:17:11.705 [debug] Current batch of media processed. Will check again in 1000ms 17:17:12.706 [debug] Current batch of media processed. Will check again in 1000ms 17:17:13.707 [debug] Current batch of media processed. Will check again in 1000ms 17:17:14.708 [debug] Current batch of media processed. Will check again in 1000ms 17:17:15.088 [info] GET / 17:17:15.089 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:17:15.092 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=1390.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15.094 [debug] QUERY OK source="media_profiles" db=2.1ms idle=1393.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:17:15.097 [debug] QUERY OK source="sources" db=2.2ms idle=1396.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:17:15.107 [debug] QUERY OK source="media_items" db=10.1ms idle=1398.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:17:15.111 [debug] QUERY OK source="media_items" db=3.7ms idle=706.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:17:15.114 [debug] QUERY OK source="settings" db=2.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 [] 17:17:15.117 [debug] QUERY OK source="settings" db=2.4ms 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 [] 17:17:15.120 [debug] QUERY OK source="settings" db=2.4ms 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 [] 17:17:15.126 [debug] QUERY OK source="tasks" db=4.3ms 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"] 17:17:15.129 [debug] QUERY OK source="sources" db=2.4ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:17:15.130 [debug] QUERY OK source="media_items" db=3.3ms 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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [67] 17:17:15.136 [debug] QUERY OK source="media_items" db=4.1ms idle=14.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:17:15.142 [debug] QUERY OK source="media_items" db=6.1ms 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 (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:17:15.146 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=17.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:17:15.160 [debug] QUERY OK source="media_items" db=11.6ms 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"))) [] 17:17:15.165 [debug] QUERY OK source="media_items" db=4.3ms queue=0.1ms idle=30.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:17:15.167 [debug] QUERY OK source="sources" db=2.0ms idle=29.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [1, 2] 17:17:15.170 [info] Sent 200 in 81ms 17:17:15.304 [info] CONNECTED TO Phoenix.LiveView.Socket in 35µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "djYLJisOZQIUDTRhSXFYExNpICsHBjwXNGoAhwUgCauY99mxA0EN_aPU", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:17:15.312 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "downloaded"} 17:17:15.317 [debug] QUERY OK source="media_items" db=4.3ms idle=170.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:17:15.321 [debug] QUERY OK source="media_items" db=3.2ms idle=171.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:17:15.323 [debug] QUERY OK source="sources" db=2.1ms idle=161.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:17:15.323 [debug] Replied in 11ms 17:17:15.327 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "pending"} 17:17:15.338 [debug] QUERY OK source="media_items" db=10.6ms idle=162.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:17:15.342 [debug] QUERY OK source="media_items" db=4.0ms queue=0.1ms idle=170.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:17:15.346 [debug] QUERY OK source="sources" db=3.4ms idle=25.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [1, 2] 17:17:15.347 [debug] Replied in 20ms 17:17:15.349 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 17:17:15.352 [debug] QUERY OK source="tasks" db=2.6ms idle=28.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:17:15.355 [debug] QUERY OK source="sources" db=2.0ms idle=15.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:17:15.355 [debug] QUERY OK source="media_items" db=2.5ms idle=29.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [67] 17:17:15.356 [debug] Replied in 6ms 17:17:15.709 [debug] Current batch of media processed. Will check again in 1000ms 17:17:16.710 [debug] Current batch of media processed. Will check again in 1000ms 17:17:17.711 [debug] Current batch of media processed. Will check again in 1000ms 17:17:18.620 [info] GET /sources/1/force_redownload 17:17:18.624 [debug] QUERY OK source="settings" db=2.9ms idle=1922.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18.626 [debug] QUERY OK source="settings" db=2.3ms idle=1925.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18.627 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:17:18.627 [error] #PID<0.3631.0> running PinchflatWeb.Endpoint (connection #PID<0.3618.0>, stream id 2) terminated Server: pinchflat.home.johnhollowell.com: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.3618.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 45532}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.3631.0>, params: %{}, path_info: ["sources", "1", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ1uElheKBQb98AADaC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3618.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 45532}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3618.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 45532}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x (truncated) 17:17:18.712 [debug] Current batch of media processed. Will check again in 1000ms 17:17:19.651 [info] {"source":"oban","duration":5073,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:19.713 [debug] Current batch of media processed. Will check again in 1000ms 17:17:20.714 [debug] Current batch of media processed. Will check again in 1000ms 17:17:21.715 [debug] Current batch of media processed. Will check again in 1000ms 17:17:22.716 [debug] Current batch of media processed. Will check again in 1000ms 17:17:23.717 [debug] Current batch of media processed. Will check again in 1000ms 17:17:24.718 [debug] Current batch of media processed. Will check again in 1000ms 17:17:25.719 [debug] Current batch of media processed. Will check again in 1000ms 17:17:26.720 [debug] Current batch of media processed. Will check again in 1000ms 17:17:27.721 [debug] Current batch of media processed. Will check again in 1000ms 17:17:28.582 [info] GET /sources 17:17:28.582 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 17:17:28.586 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=1884.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:28.589 [debug] QUERY OK source="settings" db=2.7ms idle=1887.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:28.592 [debug] QUERY OK source="settings" db=2.3ms idle=1126.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:28.595 [debug] QUERY OK source="settings" db=2.0ms idle=894.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:28.597 [debug] QUERY OK source="settings" db=2.2ms idle=126.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:17:28.610 [debug] QUERY OK source="sources" db=11.7ms idle=11.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)) [] 17:17:28.615 [debug] QUERY OK source="sources" db=4.8ms queue=0.1ms idle=21.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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:17:28.618 [info] Sent 200 in 35ms 17:17:28.722 [debug] Current batch of media processed. Will check again in 1000ms 17:17:28.770 [info] CONNECTED TO Phoenix.LiveView.Socket in 41µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XwYdASs3egE_OwkPOStmIgscMg4SIF4ggwyfhNJdhWH7IcSIYEWkJG2b", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:17:28.787 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 17:17:28.795 [debug] QUERY OK source="sources" db=7.4ms idle=195.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)) [] 17:17:28.799 [debug] QUERY OK source="sources" db=3.7ms idle=200.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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:17:28.800 [debug] Replied in 12ms 17:17:29.723 [debug] Current batch of media processed. Will check again in 1000ms 17:17:30.724 [debug] Current batch of media processed. Will check again in 1000ms 17:17:31.586 [info] GET /sources/2 17:17:31.586 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 17:17:31.589 [debug] QUERY OK source="sources" db=2.8ms idle=1888.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:17:31.592 [debug] QUERY OK source="media_profiles" db=2.2ms idle=1112.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:17:31.596 [debug] QUERY OK source="tasks" db=3.0ms idle=894.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 17:17:31.598 [debug] QUERY OK source="oban_jobs" db=2.6ms idle=897.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 (?,?)) [96, 95] 17:17:31.601 [debug] QUERY OK source="settings" db=2.1ms 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 [] 17:17:31.604 [debug] QUERY OK source="settings" db=2.5ms 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 [] 17:17:31.607 [debug] QUERY OK source="settings" db=2.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 [] 17:17:31.611 [debug] QUERY OK source="sources" db=2.1ms idle=13.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:17:31.614 [debug] QUERY OK source="media_items" db=2.4ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 17:17:31.618 [debug] QUERY OK source="media_items" db=3.9ms idle=13.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 ? [2, 10, 0] 17:17:31.624 [debug] QUERY OK source="sources" db=4.7ms 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" = ?) [2] 17:17:31.628 [debug] QUERY OK source="media_items" db=2.9ms idle=17.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 17:17:31.631 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=16.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 ? [2, 10, 0] 17:17:31.634 [debug] QUERY OK source="sources" db=2.1ms queue=0.1ms 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" = ?) [2] 17:17:31.637 [debug] QUERY OK source="media_items" db=2.3ms 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 ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [2] 17:17:31.640 [debug] QUERY OK source="media_items" db=2.4ms idle=13.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [2, 10, 0] 17:17:31.641 [info] Sent 200 in 55ms 17:17:31.725 [debug] Current batch of media processed. Will check again in 1000ms 17:17:31.835 [info] CONNECTED TO Phoenix.LiveView.Socket in 35µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fz0WIycORythIjZ8ESIDWhsMECMyFxg3GLrDdwwN6NwDaj61IUuFjptu", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:17:31.841 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "pending", "source_id" => 2} 17:17:31.844 [debug] QUERY OK source="sources" db=2.6ms idle=213.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:17:31.847 [debug] QUERY OK source="media_items" db=2.6ms idle=213.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")))) [2] 17:17:31.850 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=213.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 ? [2, 10, 0] 17:17:31.850 [debug] Replied in 9ms 17:17:31.852 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "downloaded", "source_id" => 2} 17:17:31.855 [debug] QUERY OK source="sources" db=2.2ms idle=215.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:17:31.857 [debug] QUERY OK source="media_items" db=1.8ms idle=214.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 17:17:31.859 [debug] QUERY OK source="media_items" db=2.0ms 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 ? [2, 10, 0] 17:17:31.859 [debug] Replied in 7ms 17:17:31.860 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "other", "source_id" => 2} 17:17:31.862 [debug] QUERY OK source="sources" db=1.7ms idle=12.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:17:31.864 [debug] QUERY OK source="media_items" db=2.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 ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [2] 17:17:31.867 [debug] QUERY OK source="media_items" db=2.5ms 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 ? [2, 10, 0] 17:17:31.867 [debug] Replied in 7ms 17:17:32.726 [debug] Current batch of media processed. Will check again in 1000ms 17:17:33.727 [debug] Current batch of media processed. Will check again in 1000ms 17:17:34.728 [debug] Current batch of media processed. Will check again in 1000ms 17:17:35.729 [debug] Current batch of media processed. Will check again in 1000ms 17:17:36.730 [debug] Current batch of media processed. Will check again in 1000ms 17:17:37.731 [debug] Current batch of media processed. Will check again in 1000ms 17:17:38.732 [debug] Current batch of media processed. Will check again in 1000ms 17:17:39.733 [debug] Current batch of media processed. Will check again in 1000ms 17:17:40.734 [debug] Current batch of media processed. Will check again in 1000ms 17:17:41.735 [debug] Current batch of media processed. Will check again in 1000ms 17:17:42.432 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3071VQtKEAE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d3/d6/d3d6c5bd3f4443cd61fd62916e910a3a8379202de98d1a99e345cbc8e1e79533.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 3071VQtKEAE: nsig extraction failed: Some formats may be missing n = CVjjkZhKTMdWBywW ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 3071VQtKEAE: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 3071VQtKEAE: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:17:42.432 [debug] Running yt-dlp command for action: download 17:17:42.439 [debug] QUERY OK source="settings" db=6.6ms idle=901.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:42.445 [debug] QUERY OK source="settings" db=5.3ms queue=0.2ms idle=741.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:42.448 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=747.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:42.449 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3071VQtKEAE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e54 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e54 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/96/6e/966ef0a898514623f2d0c67785b044f75812e88f7b4eea16c487d0f2608a94bd.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:17:42.736 [debug] Current batch of media processed. Will check again in 1000ms 17:17:43.112 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PL3XZNMGhpynOcqv-_8opIEXbDeIk3I3tX --skip-download --convert-thumbnails jpg --output /tmp/pinchflat/data/676358c848572233/source_image.%(ext)S --write-thumbnail --playlist-items 1 --print-to-file playlist:%()j /tmp/pinchflat/data/b4/6d/b46d94bbbfd1ecda20b64674f73533d4316aec08f383794cd15878999ac694ae.json --sleep-requests 11 --sleep-interval 14 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] uv06bzr7Y3U: nsig extraction failed: Some formats may be missing n = rTWwjcCOATsNk3o ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] uv06bzr7Y3U: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] uv06bzr7Y3U: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:17:43.405 [debug] QUERY OK db=0.1ms idle=1706.7ms begin [] 17:17:43.435 [debug] QUERY OK source="sources" db=29.6ms UPDATE "sources" SET "description" = ?, "series_directory" = ?, "poster_filepath" = ?, "updated_at" = ? WHERE "id" = ? ["Simon and Lewis return to YogLabs for a brand new miniseries! Get ready for more mod spotlights, more chaotic experiments and some Members' behind-the-scenes specials!", "/downloads/series/YogLabs 2", "/downloads/series/YogLabs 2/poster.jpg", ~U[2025-10-27 21:17:43Z], 2] 17:17:43.438 [debug] QUERY OK source="source_metadata" db=2.1ms INSERT INTO "source_metadata" ("metadata_filepath","source_id","poster_filepath","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/sources/2/metadata.json.gz", 2, "/config/metadata/sources/2/poster.jpg", ~U[2025-10-27 21:17:43Z], ~U[2025-10-27 21:17:43Z]] 17:17:43.484 [debug] QUERY OK db=45.9ms commit [] 17:17:43.526 [info] {"args":{"id":2},"id":96,"meta":{},"state":"success","max_attempts":3,"queue":"remote_metadata","worker":"Pinchflat.Metadata.SourceMetadataStorageWorker","source":"oban","duration":201895872,"event":"job:stop","queue_time":420636,"attempt":1,"tags":["media_source","source_metadata","remote_metadata","show_in_dashboard"]} 17:17:43.737 [debug] Current batch of media processed. Will check again in 1000ms 17:17:44.738 [debug] Current batch of media processed. Will check again in 1000ms 17:17:45.739 [debug] Current batch of media processed. Will check again in 1000ms 17:17:46.740 [debug] Current batch of media processed. Will check again in 1000ms 17:17:47.741 [debug] Current batch of media processed. Will check again in 1000ms 17:17:48.742 [debug] Current batch of media processed. Will check again in 1000ms 17:17:49.657 [info] {"source":"oban","duration":5067,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:49.743 [debug] Current batch of media processed. Will check again in 1000ms 17:17:49.909 [info] GET /sources 17:17:49.909 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 17:17:49.913 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=1211.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:49.916 [debug] QUERY OK source="settings" db=2.5ms idle=1214.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:49.919 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=1218.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:49.922 [debug] QUERY OK source="settings" db=2.4ms idle=347.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:49.925 [debug] QUERY OK source="settings" db=2.7ms idle=265.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:49.940 [debug] QUERY OK source="sources" db=13.4ms idle=12.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)) [] 17:17:49.952 [debug] QUERY OK source="sources" db=11.8ms queue=0.1ms idle=24.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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:17:49.955 [info] Sent 200 in 45ms 17:17:50.114 [info] CONNECTED TO Phoenix.LiveView.Socket in 37µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "bhBWDSEDRFEnAS1_BSRXARgbDBUzH1o3Va2jbzt4pmlGulbjJBipkx6u", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:17:50.130 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 17:17:50.143 [debug] QUERY OK source="sources" db=13.0ms idle=211.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)) [] 17:17:50.161 [debug] QUERY OK source="sources" db=16.6ms idle=221.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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:17:50.161 [debug] Replied in 31ms 17:17:50.744 [debug] Current batch of media processed. Will check again in 1000ms 17:17:51.745 [debug] Current batch of media processed. Will check again in 1000ms 17:17:51.947 [info] GET /sources/1 17:17:51.947 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 17:17:51.950 [debug] QUERY OK source="sources" db=2.4ms idle=366.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:17:51.953 [debug] QUERY OK source="media_profiles" db=2.3ms idle=252.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:17:51.958 [debug] QUERY OK source="tasks" db=4.7ms idle=255.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 17:17:51.961 [debug] QUERY OK source="oban_jobs" db=2.7ms idle=260.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" = ?) [119] 17:17:51.964 [debug] QUERY OK source="settings" db=2.0ms 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 [] 17:17:51.966 [debug] QUERY OK source="settings" db=1.7ms idle=13.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:17:51.968 [debug] QUERY OK source="settings" db=1.8ms 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 [] 17:17:51.972 [debug] QUERY OK source="sources" db=2.1ms idle=11.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:17:51.975 [debug] QUERY OK source="media_items" db=2.2ms idle=11.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:17:51.986 [debug] QUERY OK source="media_items" db=10.3ms idle=11.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 17:17:51.990 [debug] QUERY OK source="sources" db=2.1ms idle=21.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:17:51.992 [debug] QUERY OK source="media_items" db=1.9ms idle=21.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 17:17:51.995 [debug] QUERY OK source="media_items" db=2.3ms idle=19.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:17:51.998 [debug] QUERY OK source="sources" db=2.0ms idle=20.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:17:52.001 [debug] QUERY OK source="media_items" db=2.4ms 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] 17:17:52.004 [debug] QUERY OK source="media_items" db=2.7ms idle=11.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 17:17:52.006 [info] Sent 200 in 58ms 17:17:52.136 [info] CONNECTED TO Phoenix.LiveView.Socket in 32µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "YDsyVi49diIhHndMPg5DOWYLUhIAAB0NXJV1mDFGvr6tNFvR4R7wXgqO", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:17:52.150 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "pending", "source_id" => 1} 17:17:52.154 [debug] QUERY OK source="sources" db=2.9ms idle=158.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:17:52.156 [debug] QUERY OK source="media_items" db=2.4ms idle=159.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] 17:17:52.159 [debug] QUERY OK source="media_items" db=2.5ms idle=158.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] 17:17:52.160 [debug] Replied in 9ms 17:17:52.162 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "downloaded", "source_id" => 1} 17:17:52.164 [debug] QUERY OK source="sources" db=2.0ms idle=161.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:17:52.167 [debug] QUERY OK source="media_items" db=2.0ms idle=160.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 17:17:52.169 [debug] QUERY OK source="media_items" db=2.1ms idle=13.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 17:17:52.169 [debug] Replied in 7ms 17:17:52.172 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "other", "source_id" => 1} 17:17:52.174 [debug] QUERY OK source="sources" db=2.2ms idle=15.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:17:52.177 [debug] QUERY OK source="media_items" db=2.5ms 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 ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:17:52.180 [debug] QUERY OK source="media_items" db=2.9ms idle=13.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:17:52.181 [debug] Replied in 8ms 17:17:52.746 [debug] Current batch of media processed. Will check again in 1000ms 17:17:53.747 [debug] Current batch of media processed. Will check again in 1000ms 17:17:54.748 [debug] Current batch of media processed. Will check again in 1000ms 17:17:55.749 [debug] Current batch of media processed. Will check again in 1000ms 17:17:56.750 [debug] Current batch of media processed. Will check again in 1000ms 17:17:57.751 [debug] Current batch of media processed. Will check again in 1000ms 17:17:58.752 [debug] Current batch of media processed. Will check again in 1000ms 17:17:59.753 [debug] Current batch of media processed. Will check again in 1000ms 17:18:00.379 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:18:00.754 [debug] Current batch of media processed. Will check again in 1000ms 17:18:01.755 [debug] Current batch of media processed. Will check again in 1000ms 17:18:02.756 [debug] Current batch of media processed. Will check again in 1000ms 17:18:03.757 [debug] Current batch of media processed. Will check again in 1000ms 17:18:04.758 [debug] Current batch of media processed. Will check again in 1000ms 17:18:05.759 [debug] Current batch of media processed. Will check again in 1000ms 17:18:06.760 [debug] Current batch of media processed. Will check again in 1000ms 17:18:07.414 [info] POST /sources/1/sync_files_on_disk 17:18:07.414 [debug] Processing with PinchflatWeb.Sources.SourceController.sync_files_on_disk/2 Parameters: %{"_csrf_token" => "YDsyVi49diIhHndMPg5DOWYLUhIAAB0NXJV1mDFGvr6tNFvR4R7wXgqO", "_method" => "post", "source_id" => "1"} Pipelines: [:browser] 17:18:07.417 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=1710.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:18:07.556 [debug] QUERY OK source="tasks" db=74.4ms queue=0.1ms idle=1776.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [121, 1, ~U[2025-10-27 21:18:07Z], ~U[2025-10-27 21:18:07Z]] 17:18:07.556 [info] Sent 302 in 141ms 17:18:07.577 [info] GET /sources/1 17:18:07.578 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 17:18:07.580 [debug] QUERY OK source="sources" db=1.8ms idle=921.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:18:07.582 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=163.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:18:07.584 [debug] QUERY OK source="tasks" db=2.2ms queue=0.1ms idle=101.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"] 17:18:07.585 [debug] QUERY OK source="oban_jobs" db=0.6ms queue=0.1ms idle=28.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 (?,?)) [121, 119] 17:18:07.586 [debug] QUERY OK source="settings" db=0.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 [] 17:18:07.587 [debug] QUERY OK source="settings" db=0.5ms 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:18:07.588 [debug] QUERY OK source="settings" db=0.2ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:18:07.614 [info] {"args":{"id":1},"id":121,"meta":{},"system_time":1761599887614477921,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.Media.FileSyncingWorker","source":"oban","event":"job:start","attempt":1,"tags":["sources","local_data"]} 17:18:07.617 [debug] QUERY OK source="sources" db=2.2ms idle=28.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:18:07.624 [debug] QUERY OK source="sources" db=34.1ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:18:07.628 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=36.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] 17:18:07.628 [debug] QUERY OK source="media_items" db=10.6ms queue=0.3ms idle=29.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", m0."source_id" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."source_id" [1] 17:18:07.642 [debug] QUERY OK source="media_items" db=14.0ms queue=0.1ms idle=13.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] 17:18:07.645 [debug] QUERY OK source="sources" db=1.1ms 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] 17:18:07.647 [debug] QUERY OK source="media_items" db=1.4ms idle=18.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 17:18:09.698 [debug] QUERY OK source="media_items" db=2050.5ms idle=19.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] 17:18:09.698 [debug] QUERY ERROR source="media_items" db=2064.6ms idle=16.7ms UPDATE "media_items" SET "nfo_filepath" = ?, "updated_at" = ? WHERE "id" = ? [nil, ~U[2025-10-27 21:18:07Z], 1] 17:18:09.700 [debug] Current batch of media processed. Will check again in 1000ms 17:18:09.702 [debug] QUERY OK source="sources" db=1.8ms queue=0.2ms idle=2054.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:18:09.704 [debug] QUERY OK source="media_items" db=2.1ms idle=4.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] 17:18:09.714 [debug] QUERY OK source="media_items" db=8.9ms 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] 17:18:09.715 [info] Sent 200 in 2137ms 17:18:09.757 [info] {"error":"** (Exqlite.Error) Database busy\nUPDATE \"media_items\" SET \"nfo_filepath\" = ?, \"updated_at\" = ? WHERE \"id\" = ?","args":{"id":1},"id":121,"meta":{},"state":"failure","max_attempts":20,"queue":"local_data","worker":"Pinchflat.Media.FileSyncingWorker","source":"oban","duration":2084199,"event":"job:exception","queue_time":487663,"attempt":1,"tags":["sources","local_data"]} 17:18:09.913 [info] CONNECTED TO Phoenix.LiveView.Socket in 37µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fCUWAjozBlE0QQJAPDpaOSscLB8QXxQjDTreyJ64c-CxLroRyEIzH8xa", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:18:09.928 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "pending", "source_id" => 1} 17:18:09.931 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=226.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:18:09.943 [debug] QUERY OK source="media_items" db=12.1ms idle=226.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] 17:18:09.957 [debug] QUERY OK source="media_items" db=12.9ms idle=230.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:18:09.957 [debug] Replied in 29ms 17:18:09.960 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "downloaded", "source_id" => 1} 17:18:09.962 [debug] QUERY OK source="sources" db=1.9ms idle=203.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:18:09.965 [debug] QUERY OK source="media_items" db=3.3ms idle=193.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 17:18:09.976 [debug] QUERY OK source="media_items" db=10.2ms idle=35.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] 17:18:09.976 [debug] Replied in 16ms 17:18:09.978 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "other", "source_id" => 1} 17:18:09.981 [debug] QUERY OK source="sources" db=2.5ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:18:09.984 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=24.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:18:09.987 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=22.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] 17:18:09.987 [debug] Replied in 9ms 17:18:10.700 [debug] Current batch of media processed. Will check again in 1000ms 17:18:11.701 [debug] Current batch of media processed. Will check again in 1000ms 17:18:12.702 [debug] Current batch of media processed. Will check again in 1000ms 17:18:13.703 [debug] Current batch of media processed. Will check again in 1000ms 17:18:14.704 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "YogLabs 2! What's YogLabs without a barely functional coffee machine? Lewis has been working on a new invention to make the next machine more efficient than ever!\n⚠️ WARNING: Side effects include involuntary singing and total brain meltdown.\n\n⭐ Support the series and join as a member to get early access to the next episode: https://youtu.be/KXYjesEend0\n✨ And enjoy an exclusive YogLabs tour with Lewis (and some students)! https://youtu.be/CiVfz7kjisU\n🎵 ☕ Stream COFFEE MACHINE now on all the good music places: https://deepforge.co/coffee\n\n🔬 YogLabs 2 Merch! https://store.yogscast.com/collection/yoglabs/\n⛏ Music synthesised at the Deepforge Sound Labs (https://deepforge.co/) - Official Soundtrack available soon!\n\n❗ Featured mod - Create Clockwork: https://www.curseforge.com/minecraft/mc-mods/create-clockwork\n\n💖 BECOME A MEMBER: https://www.youtube.com/channel/UCH-_hzb2ILSCo9ftVSnrCIQ/join \n📺 YogLabs 2 playlist: https://www.youtube.com/playlist?list=PL3XZNMGhpynOcqv-_8opIEXbDeIk3I3tX\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n\n▬▬▬▬▬\n\nWho's in the video:\nLewis: @yogscast \nSimon: https://www.twitch.tv/simonhoneydew\n\n▬▬▬▬▬\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nBluesky: https://bsky.app/profile/yogscast.com\nWatch us live on Twitch every day! http://www.twitch.tv/yogscast/ \n\n▬▬▬▬▬\n\nProduction music courtesy of Epidemic Sound \n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT\n\n#yogscast #yoglabs #moddedminecraft #minecraftsong", "duration" => 912, "filename" => "/downloads/series/YogLabs 2/Season 1/s01e00 - New_Coffee_Machine_YogLabs_2.mp4", "id" => "4Axzow0utfQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4Axzow0utfQ", "playlist_index" => 2, "timestamp" => 1761238805, "title" => "New Coffee Machine | YogLabs 2", "upload_date" => "20251023"} 17:18:14.708 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=1006.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:18:14.711 [debug] QUERY OK source="sources" db=2.6ms 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" = ?) [2] 17:18:14.713 [debug] QUERY OK source="media_items" db=2.4ms idle=1012.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 17:00:05Z], 2] 17:18:14.815 [debug] QUERY OK source="media_items" db=100.4ms idle=1015.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" ["YogLabs 2! What's YogLabs without a barely functional coffee machine? Lewis has been working on a new invention to make the next machine more efficient than ever!\n⚠️ WARNING: Side effects include involuntary singing and total brain meltdown.\n\n⭐ Support the series and join as a member to get early access to the next episode: https://youtu.be/KXYjesEend0\n✨ And enjoy an exclusive YogLabs tour with Lewis (and some students)! https://youtu.be/CiVfz7kjisU\n🎵 ☕ Stream COFFEE MACHINE now on all the good music places: https://deepforge.co/coffee\n\n🔬 YogLabs 2 Merch! https://store.yogscast.com/collection/yoglabs/\n⛏ Music synthesised at the Deepforge Sound Labs (https://deepforge.co/) - Official Soundtrack available soon!\n\n❗ Featured mod - Create Clockwork: https://www.curseforge.com/minecraft/mc-mods/create-clockwork\n\n💖 BECOME A MEMBER: https://www.youtube.com/channel/UCH-_hzb2ILSCo9ftVSnrCIQ/join \n📺 YogLabs 2 playlist: https://www.youtube.com/playlist?list=PL3XZNMGhpynOcqv-_8opIEXbDeIk3I3tX\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n\n▬▬▬▬▬\n\nWho's in the video:\nLewis: @yogscast \nSimon: https://www.twitch.tv/simonhoneydew\n\n▬▬▬▬▬\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nBluesky: https://bsky.app/profile/yogscast.com\nWatch us live on Twitch every day! http://www.twitch.tv/yogscast/ \n\n▬▬▬▬▬\n\nProduction music courtesy of Epidemic Sound \n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT\n\n#yogscast #yoglabs #moddedminecraft #minecraftsong", "New Coffee Machine | YogLabs 2", "bfb66f81-9c78-4ac3-ab3f-7ac39d7c0da7", 912, false, "4Axzow0utfQ", "https://www.youtube.com/watch?v=4Axzow0utfQ", 2, "/downloads/series/YogLabs 2/Season 1/s01e00 - New_Coffee_Machine_YogLabs_2.mp4", false, false, false, 2, [], 0, ~U[2025-10-23 17:00:05Z], ~U[2025-10-27 21:18:14Z], ~U[2025-10-27 21:18:14Z], "YogLabs 2! What's YogLabs without a barely functional coffee machine? Lewis has been working on a new invention to make the next machine more efficient than ever!\n⚠️ WARNING: Side effects include involuntary singing and total brain meltdown.\n\n⭐ Support the series and join as a member to get early access to the next episode: https://youtu.be/KXYjesEend0\n✨ And enjoy an exclusive YogLabs tour with Lewis (and some students)! https://youtu.be/CiVfz7kjisU\n🎵 ☕ Stream COFFEE MACHINE now on all the good music places: https://deepforge.co/coffee\n\n🔬 YogLabs 2 Merch! https://store.yogscast.com/collection/yoglabs/\n⛏ Music synthesised at the Deepforge Sound Labs (https://deepforge.co/) - Official Soundtrack available soon!\n\n❗ Featured mod - Create Clockwork: https://www.curseforge.com/minecraft/mc-mods/create-clockwork\n\n💖 BECOME A MEMBER: https://www.youtube.com/channel/UCH-_hzb2ILSCo9ftVSnrCIQ/join \n📺 YogLabs 2 playlist: https://www.youtube.com/playlist?list=PL3XZNMGhpynOcqv-_8opIEXbDeIk3I3tX\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n\n▬▬▬▬▬\n\nWho's in the video:\nLewis: @yogscast \nSimon: https://www.twitch.tv/simonhoneydew\n\n▬▬▬▬▬\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nBluesky: https://bsky.app/profile/yogscast.com\nWatch us live on Twitch every day! http://www.twitch.tv/yogscast/ \n\n▬▬▬▬▬\n\nProduction music courtesy of Epidemic Sound \n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT\n\n#yogscast #yoglabs #moddedminecraft #minecraftsong", "New Coffee Machine | YogLabs 2", 912, false, "4Axzow0utfQ", "https://www.youtube.com/watch?v=4Axzow0utfQ", "/downloads/series/YogLabs 2/Season 1/s01e00 - New_Coffee_Machine_YogLabs_2.mp4", false, 2, ~U[2025-10-23 17:00:05Z]] 17:18:14.818 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms idle=107.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:18:14.822 [debug] QUERY OK source="media_profiles" db=3.0ms idle=107.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:18:14.826 [debug] QUERY OK source="media_items" db=3.9ms idle=108.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 [189] 17:18:14.826 [info] Kicking off download for media item #189 (4Axzow0utfQ) 17:18:14.916 [debug] QUERY OK source="tasks" db=41.3ms idle=56.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [122, 189, ~U[2025-10-27 21:18:14Z], ~U[2025-10-27 21:18:14Z]] 17:18:14.916 [debug] Current batch of media processed. Will check again in 1000ms 17:18:15.916 [debug] Current batch of media processed. Will check again in 1000ms 17:18:16.918 [debug] Current batch of media processed. Will check again in 1000ms 17:18:17.918 [debug] Current batch of media processed. Will check again in 1000ms 17:18:18.919 [debug] Current batch of media processed. Will check again in 1000ms 17:18:19.664 [info] {"source":"oban","duration":5534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:19.772 [info] GET /sources/2/force_download_pending 17:18:19.775 [debug] QUERY OK source="settings" db=2.4ms idle=1073.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:19.777 [debug] QUERY OK source="settings" db=2.3ms idle=1076.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:19.778 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:18:19.778 [error] #PID<0.3671.0> running PinchflatWeb.Endpoint (connection #PID<0.3670.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3670.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41498}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.3671.0>, params: %{}, path_info: ["sources", "2", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/2/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ1xoZJ5PI9_u0AAAKD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3670.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41498}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3670.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41498}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwar (truncated) 17:18:19.920 [debug] Current batch of media processed. Will check again in 1000ms 17:18:20.921 [debug] Current batch of media processed. Will check again in 1000ms 17:18:21.922 [debug] Current batch of media processed. Will check again in 1000ms 17:18:22.923 [debug] Current batch of media processed. Will check again in 1000ms 17:18:23.924 [debug] Current batch of media processed. Will check again in 1000ms 17:18:24.925 [debug] Current batch of media processed. Will check again in 1000ms 17:18:25.926 [debug] Current batch of media processed. Will check again in 1000ms 17:18:25.982 [info] POST /sources/1/force_metadata_refresh 17:18:25.982 [debug] Processing with PinchflatWeb.Sources.SourceController.force_metadata_refresh/2 Parameters: %{"_csrf_token" => "fCUWAjozBlE0QQJAPDpaOSscLB8QXxQjDTreyJ64c-CxLroRyEIzH8xa", "_method" => "post", "source_id" => "1"} Pipelines: [:browser] 17:18:25.987 [debug] QUERY OK source="sources" db=3.7ms idle=1284.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:18:26.082 [debug] QUERY OK source="tasks" db=49.6ms idle=334.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [123, 1, ~U[2025-10-27 21:18:26Z], ~U[2025-10-27 21:18:26Z]] 17:18:26.083 [info] Sent 302 in 100ms 17:18:26.093 [info] GET /sources/1 17:18:26.093 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 17:18:26.095 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=312.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:18:26.096 [debug] QUERY OK source="media_profiles" db=1.0ms idle=108.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:18:26.099 [debug] QUERY OK source="tasks" db=2.8ms idle=64.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"] 17:18:26.125 [info] {"args":{"id":1},"id":123,"meta":{},"system_time":1761599906124891504,"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"]} 17:18:26.128 [debug] QUERY OK source="sources" db=2.9ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:18:26.131 [debug] QUERY OK source="media_profiles" db=2.9ms 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] 17:18:26.132 [debug] QUERY OK source="source_metadata" db=3.6ms idle=32.1ms 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] 17:18:26.132 [debug] Running yt-dlp command for action: get_source_details 17:18:26.136 [debug] QUERY OK source="settings" db=1.9ms 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 [] 17:18:26.137 [debug] QUERY OK source="oban_jobs" db=36.9ms queue=0.1ms idle=17.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 (?,?,?)) [123, 121, 119] 17:18:26.139 [debug] QUERY OK source="settings" db=1.3ms queue=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 [] 17:18:26.139 [debug] QUERY OK source="settings" db=2.9ms 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:18:26.141 [debug] QUERY OK source="settings" db=1.6ms 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 [] 17:18:26.142 [debug] QUERY OK source="settings" db=2.3ms 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 [] 17:18:26.142 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLF60520313D07F366 --simulate --skip-download --ignore-no-formats-error --playlist-end 1 --output /downloads/series/Shadow Of Israphel/Season 1/s01e00 - %(title)S.%(ext)S --print-to-file %(.{channel,channel_id,playlist_id,playlist_title,filename})j /tmp/pinchflat/data/dd/53/dd53537ce9278978d9e488cfd6e81aa8de1f6824cca012640b4eef76250e3333.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:18:26.144 [debug] QUERY OK source="settings" db=2.2ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:18:26.149 [debug] QUERY OK source="sources" db=2.2ms idle=7.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:18:26.159 [debug] QUERY OK source="media_items" db=10.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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:18:26.171 [debug] QUERY OK source="media_items" db=10.8ms queue=0.1ms idle=18.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:18:26.175 [debug] QUERY OK source="sources" db=2.5ms idle=30.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:18:26.178 [debug] QUERY OK source="media_items" db=2.9ms idle=31.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 17:18:26.188 [debug] QUERY OK source="media_items" db=9.5ms queue=0.1ms idle=30.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] 17:18:26.192 [debug] QUERY OK source="sources" db=2.1ms idle=30.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:18:26.195 [debug] QUERY OK source="media_items" db=2.3ms idle=21.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] 17:18:26.207 [debug] QUERY OK source="media_items" db=11.7ms idle=20.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] 17:18:26.210 [info] Sent 200 in 117ms 17:18:26.304 [info] CONNECTED TO Phoenix.LiveView.Socket in 33µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fQMzM3RLARYnPB55KH16IwcdBxxgNS0FErWT721spP_AX5OHUDby8RAG", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:18:26.311 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "pending", "source_id" => 1} 17:18:26.314 [debug] QUERY OK source="sources" db=2.8ms idle=133.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:18:26.317 [debug] QUERY OK source="media_items" db=2.3ms idle=126.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:18:26.321 [debug] QUERY OK source="media_items" db=2.8ms idle=125.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] 17:18:26.321 [debug] Replied in 9ms 17:18:26.323 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "downloaded", "source_id" => 1} 17:18:26.326 [debug] QUERY OK source="sources" db=2.7ms idle=128.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:18:26.329 [debug] QUERY OK source="media_items" db=2.7ms idle=119.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 17:18:26.340 [debug] QUERY OK source="media_items" db=10.5ms 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] 17:18:26.340 [debug] Replied in 17ms 17:18:26.343 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "other", "source_id" => 1} 17:18:26.345 [debug] QUERY OK source="sources" db=2.0ms idle=25.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:18:26.348 [debug] QUERY OK source="media_items" db=2.2ms idle=24.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:18:26.350 [debug] QUERY OK source="media_items" db=2.3ms idle=21.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] 17:18:26.350 [debug] Replied in 7ms 17:18:26.927 [debug] Current batch of media processed. Will check again in 1000ms 17:18:27.891 [info] {"args":{"id":1},"id":121,"meta":{},"system_time":1761599907891655405,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.Media.FileSyncingWorker","source":"oban","event":"job:start","attempt":2,"tags":["sources","local_data"]} 17:18:27.894 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=193.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:18:27.907 [debug] QUERY OK source="media_items" db=12.5ms queue=0.1ms idle=196.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", m0."source_id" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."source_id" [1] 17:18:27.928 [debug] Current batch of media processed. Will check again in 1000ms 17:18:27.988 [debug] QUERY OK source="media_items" db=76.9ms idle=212.2ms UPDATE "media_items" SET "nfo_filepath" = ?, "updated_at" = ? WHERE "id" = ? [nil, ~U[2025-10-27 21:18:27Z], 1] 17:18:28.071 [debug] QUERY OK source="media_items" db=80.4ms idle=150.0ms UPDATE "media_items" SET "nfo_filepath" = ?, "updated_at" = ? WHERE "id" = ? [nil, ~U[2025-10-27 21:18:27Z], 3] 17:18:28.163 [debug] QUERY OK source="media_items" db=88.7ms idle=183.2ms UPDATE "media_items" SET "nfo_filepath" = ?, "updated_at" = ? WHERE "id" = ? [nil, ~U[2025-10-27 21:18:28Z], 4] 17:18:28.238 [debug] QUERY OK source="media_items" db=72.6ms idle=271.3ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:28Z], 5] 17:18:28.367 [debug] QUERY OK source="media_items" db=125.8ms idle=333.9ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:28Z], 40] 17:18:28.443 [debug] QUERY OK source="media_items" db=73.2ms idle=382.2ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:28Z], 42] 17:18:28.519 [debug] QUERY OK source="media_items" db=71.9ms idle=375.2ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:28Z], 43] 17:18:28.597 [debug] QUERY OK source="media_items" db=76.5ms idle=357.7ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:28Z], 44] 17:18:28.686 [debug] QUERY OK source="media_items" db=85.8ms idle=361.2ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:28Z], 45] 17:18:28.781 [debug] QUERY OK source="media_items" db=92.9ms idle=320.5ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:28Z], 46] 17:18:28.929 [debug] Current batch of media processed. Will check again in 1000ms 17:18:29.150 [debug] QUERY OK source="media_items" db=366.9ms idle=339.9ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:28Z], 47] 17:18:29.554 [debug] QUERY OK source="media_items" db=402.5ms idle=554.5ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:29Z], 48] 17:18:29.656 [debug] QUERY OK source="media_items" db=99.7ms idle=870.8ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:29Z], 49] 17:18:29.837 [debug] QUERY OK source="media_items" db=84.9ms idle=970.8ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:29Z], 50] 17:18:29.930 [debug] Current batch of media processed. Will check again in 1000ms 17:18:29.932 [debug] QUERY OK source="media_items" db=92.4ms idle=689.3ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:29Z], 51] 17:18:30.026 [debug] QUERY OK source="media_items" db=92.7ms idle=759.9ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:29Z], 52] 17:18:30.102 [debug] QUERY OK source="media_items" db=73.3ms idle=474.0ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:30Z], 53] 17:18:30.202 [debug] QUERY OK source="media_items" db=98.0ms idle=447.9ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:30Z], 54] 17:18:30.278 [debug] QUERY OK source="media_items" db=73.4ms idle=272.3ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:30Z], 55] 17:18:30.353 [debug] QUERY OK source="media_items" db=73.3ms idle=253.1ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:30Z], 56] 17:18:30.458 [debug] QUERY OK source="media_items" db=103.6ms idle=252.9ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:30Z], 57] 17:18:30.529 [debug] QUERY OK source="media_items" db=69.1ms idle=257.7ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:30Z], 58] 17:18:30.604 [debug] QUERY OK source="media_items" db=72.9ms idle=320.1ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:30Z], 59] 17:18:30.679 [debug] QUERY OK source="media_items" db=73.6ms idle=328.0ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:30Z], 60] 17:18:30.755 [debug] QUERY OK source="media_items" db=73.7ms idle=327.8ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:30Z], 61] 17:18:30.847 [debug] QUERY OK source="media_items" db=89.9ms idle=298.5ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:30Z], 62] 17:18:30.922 [debug] QUERY OK source="media_items" db=73.5ms idle=319.1ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:30Z], 63] 17:18:30.931 [debug] Current batch of media processed. Will check again in 1000ms 17:18:30.989 [debug] QUERY OK source="media_items" db=65.9ms idle=319.0ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:30Z], 64] 17:18:31.065 [debug] QUERY OK source="media_items" db=74.3ms idle=311.2ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:30Z], 65] 17:18:31.166 [debug] QUERY OK source="media_items" db=99.7ms idle=311.6ms UPDATE "media_items" SET "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [[], ~U[2025-10-27 21:18:31Z], 66] 17:18:31.211 [info] {"args":{"id":1},"id":121,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.Media.FileSyncingWorker","source":"oban","duration":3276112,"event":"job:stop","queue_time":118534,"attempt":2,"tags":["sources","local_data"]} 17:18:31.932 [debug] Current batch of media processed. Will check again in 1000ms 17:18:32.933 [debug] Current batch of media processed. Will check again in 1000ms 17:18:33.934 [debug] Current batch of media processed. Will check again in 1000ms 17:18:34.935 [debug] Current batch of media processed. Will check again in 1000ms 17:18:35.936 [debug] Current batch of media processed. Will check again in 1000ms 17:18:36.937 [debug] Current batch of media processed. Will check again in 1000ms 17:18:37.938 [debug] Current batch of media processed. Will check again in 1000ms 17:18:38.939 [debug] Current batch of media processed. Will check again in 1000ms 17:18:39.940 [debug] Current batch of media processed. Will check again in 1000ms 17:18:40.941 [debug] Current batch of media processed. Will check again in 1000ms 17:18:41.942 [debug] Current batch of media processed. Will check again in 1000ms 17:18:42.943 [debug] Current batch of media processed. Will check again in 1000ms 17:18:43.944 [debug] Current batch of media processed. Will check again in 1000ms 17:18:44.945 [debug] Current batch of media processed. Will check again in 1000ms 17:18:45.946 [debug] Current batch of media processed. Will check again in 1000ms 17:18:46.947 [debug] Current batch of media processed. Will check again in 1000ms 17:18:47.948 [debug] Current batch of media processed. Will check again in 1000ms 17:18:48.847 [info] GET /sources/1/media/66 17:18:48.847 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "66", "source_id" => "1"} Pipelines: [:browser] 17:18:48.851 [debug] QUERY OK source="media_items" db=3.0ms idle=544.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" = ?) [66] 17:18:48.855 [debug] QUERY OK source="sources" db=3.1ms idle=153.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:18:48.856 [debug] QUERY OK source="tasks" db=4.3ms idle=153.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" [66] 17:18:48.859 [debug] QUERY OK source="oban_jobs" db=2.9ms idle=157.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" = ?) [58] 17:18:48.863 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=161.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:48.867 [debug] QUERY OK source="settings" db=3.4ms queue=0.1ms 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 [] 17:18:48.873 [debug] QUERY OK source="settings" db=5.6ms 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:18:48.878 [debug] QUERY OK source="media_profiles" db=3.8ms 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] 17:18:48.883 [info] Sent 200 in 35ms 17:18:48.950 [debug] Current batch of media processed. Will check again in 1000ms 17:18:48.966 [info] GET /media/29e32fb1-1886-450c-b6b9-c9d5a4b0b82f/stream 17:18:48.966 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "29e32fb1-1886-450c-b6b9-c9d5a4b0b82f", "v" => "1761599911"} Pipelines: [:maybe_basic_auth] 17:18:48.970 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=107.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["29e32fb1-1886-450c-b6b9-c9d5a4b0b82f"] 17:18:48.971 [debug] Streaming media item: 29e32fb1-1886-450c-b6b9-c9d5a4b0b82f from 0 to 239147541 17:18:48.971 [info] Sent 206 in 4ms 17:18:49.501 [info] GET /media/29e32fb1-1886-450c-b6b9-c9d5a4b0b82f/stream 17:18:49.501 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "29e32fb1-1886-450c-b6b9-c9d5a4b0b82f", "v" => "1761599911"} Pipelines: [:maybe_basic_auth] 17:18:49.504 [debug] QUERY OK source="media_items" db=2.9ms idle=634.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["29e32fb1-1886-450c-b6b9-c9d5a4b0b82f"] 17:18:49.505 [debug] Streaming media item: 29e32fb1-1886-450c-b6b9-c9d5a4b0b82f from 1343488 to 239147541 17:18:49.505 [info] Sent 206 in 4ms 17:18:49.668 [info] {"source":"oban","duration":4110,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:49.950 [debug] Current batch of media processed. Will check again in 1000ms 17:18:50.951 [debug] Current batch of media processed. Will check again in 1000ms 17:18:51.452 [info] GET /sources/1/media/66 17:18:51.453 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "66", "source_id" => "1"} Pipelines: [:browser] 17:18:51.455 [debug] QUERY OK source="media_items" db=2.3ms idle=754.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" = ?) [66] 17:18:51.458 [debug] QUERY OK source="sources" db=2.3ms idle=757.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:18:51.459 [debug] QUERY OK source="tasks" db=3.3ms idle=757.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" [66] 17:18:51.462 [debug] QUERY OK source="oban_jobs" db=2.3ms idle=761.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [58] 17:18:51.465 [debug] QUERY OK source="settings" db=2.6ms idle=144.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:51.468 [debug] QUERY OK source="settings" db=2.8ms 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 [] 17:18:51.471 [debug] QUERY OK source="settings" db=2.0ms idle=10.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:18:51.474 [debug] QUERY OK source="media_profiles" db=2.8ms 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] 17:18:51.477 [info] Sent 200 in 24ms 17:18:51.952 [debug] Current batch of media processed. Will check again in 1000ms 17:18:52.953 [debug] Current batch of media processed. Will check again in 1000ms 17:18:53.954 [debug] Current batch of media processed. Will check again in 1000ms 17:18:54.955 [debug] Current batch of media processed. Will check again in 1000ms 17:18:55.956 [debug] Current batch of media processed. Will check again in 1000ms 17:18:56.957 [debug] Current batch of media processed. Will check again in 1000ms 17:18:57.958 [debug] Current batch of media processed. Will check again in 1000ms 17:18:58.959 [debug] Current batch of media processed. Will check again in 1000ms 17:18:59.960 [debug] Current batch of media processed. Will check again in 1000ms 17:19:00.380 [info] {"source":"oban","duration":330,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:19:00.961 [debug] Current batch of media processed. Will check again in 1000ms 17:19:01.663 [info] GET /media/29e32fb1-1886-450c-b6b9-c9d5a4b0b82f/stream 17:19:01.663 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "29e32fb1-1886-450c-b6b9-c9d5a4b0b82f", "v" => "1761599911"} Pipelines: [:maybe_basic_auth] 17:19:01.666 [debug] QUERY OK source="media_items" db=3.0ms idle=1283.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["29e32fb1-1886-450c-b6b9-c9d5a4b0b82f"] 17:19:01.666 [debug] Invalid range request for media item: 29e32fb1-1886-450c-b6b9-c9d5a4b0b82f - serving full file 17:19:01.667 [info] Sent 200 in 4ms 17:19:01.962 [debug] Current batch of media processed. Will check again in 1000ms 17:19:02.317 [info] GET /media/29e32fb1-1886-450c-b6b9-c9d5a4b0b82f/stream 17:19:02.317 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "29e32fb1-1886-450c-b6b9-c9d5a4b0b82f", "v" => "1761599911"} Pipelines: [:maybe_basic_auth] 17:19:02.321 [debug] QUERY OK source="media_items" db=3.9ms idle=1618.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["29e32fb1-1886-450c-b6b9-c9d5a4b0b82f"] 17:19:02.322 [debug] Invalid range request for media item: 29e32fb1-1886-450c-b6b9-c9d5a4b0b82f - serving full file 17:19:02.322 [info] Sent 200 in 5ms 17:19:02.963 [debug] Current batch of media processed. Will check again in 1000ms 17:19:03.964 [debug] Current batch of media processed. Will check again in 1000ms 17:19:04.546 [info] GET /media/29e32fb1-1886-450c-b6b9-c9d5a4b0b82f/stream 17:19:04.546 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "29e32fb1-1886-450c-b6b9-c9d5a4b0b82f", "v" => "1761599911"} Pipelines: [:maybe_basic_auth] 17:19:04.550 [debug] QUERY OK source="media_items" db=3.4ms idle=1848.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["29e32fb1-1886-450c-b6b9-c9d5a4b0b82f"] 17:19:04.551 [debug] Streaming media item: 29e32fb1-1886-450c-b6b9-c9d5a4b0b82f from 0 to 239147541 17:19:04.551 [info] Sent 206 in 4ms 17:19:04.962 [info] GET /media/29e32fb1-1886-450c-b6b9-c9d5a4b0b82f/stream 17:19:04.962 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "29e32fb1-1886-450c-b6b9-c9d5a4b0b82f", "v" => "1761599911"} Pipelines: [:maybe_basic_auth] 17:19:04.965 [debug] Current batch of media processed. Will check again in 1000ms 17:19:04.965 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=1264.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["29e32fb1-1886-450c-b6b9-c9d5a4b0b82f"] 17:19:04.966 [debug] Streaming media item: 29e32fb1-1886-450c-b6b9-c9d5a4b0b82f from 1343488 to 239147541 17:19:04.966 [info] Sent 206 in 3ms 17:19:05.966 [debug] Current batch of media processed. Will check again in 1000ms 17:19:06.967 [debug] Current batch of media processed. Will check again in 1000ms 17:19:07.968 [debug] Current batch of media processed. Will check again in 1000ms 17:19:08.969 [debug] Current batch of media processed. Will check again in 1000ms 17:19:09.970 [debug] Current batch of media processed. Will check again in 1000ms 17:19:10.971 [debug] Current batch of media processed. Will check again in 1000ms 17:19:11.972 [debug] Current batch of media processed. Will check again in 1000ms 17:19:12.973 [debug] Current batch of media processed. Will check again in 1000ms 17:19:13.974 [debug] Current batch of media processed. Will check again in 1000ms 17:19:14.975 [debug] Current batch of media processed. Will check again in 1000ms 17:19:15.976 [debug] Current batch of media processed. Will check again in 1000ms 17:19:16.977 [debug] Current batch of media processed. Will check again in 1000ms 17:19:17.978 [debug] Current batch of media processed. Will check again in 1000ms 17:19:18.979 [debug] Current batch of media processed. Will check again in 1000ms 17:19:19.674 [info] {"source":"oban","duration":4987,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:19.980 [debug] Current batch of media processed. Will check again in 1000ms 17:19:20.981 [debug] Current batch of media processed. Will check again in 1000ms 17:19:21.982 [debug] Current batch of media processed. Will check again in 1000ms 17:19:22.983 [debug] Current batch of media processed. Will check again in 1000ms 17:19:23.984 [debug] Current batch of media processed. Will check again in 1000ms 17:19:24.406 [info] GET /sources/1/force_download_pending 17:19:24.410 [debug] QUERY OK source="settings" db=2.7ms idle=1708.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:24.412 [debug] QUERY OK source="settings" db=2.2ms idle=1711.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:24.412 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:19:24.413 [error] #PID<0.3713.0> running PinchflatWeb.Endpoint (connection #PID<0.3712.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com: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.3712.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49774}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.3713.0>, params: %{}, path_info: ["sources", "1", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], 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", "GHJ11ZLQ-pSm1j8AADKB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3712.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49774}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3712.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49774}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYVBaaHJoazJNbkRka2lwSHREVzR0Vm5H.GnYtoGQYn3dLMs3LbBxsDsBHDEYL3cRtuFAgVcUDzkY", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwar (truncated) 17:19:24.985 [debug] Current batch of media processed. Will check again in 1000ms 17:19:25.986 [debug] Current batch of media processed. Will check again in 1000ms 17:19:26.987 [debug] Current batch of media processed. Will check again in 1000ms 17:19:27.988 [debug] Current batch of media processed. Will check again in 1000ms 17:19:28.989 [debug] Current batch of media processed. Will check again in 1000ms 17:19:29.990 [debug] Current batch of media processed. Will check again in 1000ms 17:19:30.319 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PL3XZNMGhpynOcqv-_8opIEXbDeIk3I3tX --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/series/YogLabs 2/Season 1/s01e00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/7b/2d/7b2db3015291062090bb93e19ac3aa181ec7e14b1a7da3d5da5d8909ff04e9e1.json --sleep-requests 15 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 17:19:30.320 [debug] Gracefully stopping file follower 17:19:30.323 [debug] QUERY OK source="sources" db=2.7ms idle=1621.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:19:30.326 [debug] QUERY OK source="sources" db=2.7ms idle=1624.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:19:30.330 [debug] QUERY OK source="media_items" db=3.6ms idle=826.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-16 17:00:06Z], 2] 17:19:30.588 [debug] QUERY OK source="media_items" db=256.4ms idle=632.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" ["YogLabs returns! Lewis and Simon are back to explore a brand new facility hidden deep in the mountains filled with all the classic YogLabs chaos you could want!\n⚠️ WARNING: Bungupinol only delays fecal disasters but does not stop them completely.\n\n⭐ Support the series and join as a member to get early access to the next episode: https://youtu.be/4Axzow0utfQ\n✨ And enjoy an exclusive behind the scenes vault door creation video! https://youtu.be/wNydbzM-shU\n🔬 YogLabs 2 Merch! https://store.yogscast.com/collection/yoglabs/\n\n❗ Featured mod - MrCrayfish's Furniture Mod: https://www.curseforge.com/minecraft/mc-mods/refurbished-furniture\n⛏️ Music synthesised at the Deepforge Sound Labs (https://deepforge.co/) - Official Soundtrack available soon!\n\n💖 BECOME A MEMBER: https://www.youtube.com/channel/UCH-_hzb2ILSCo9ftVSnrCIQ/join \n📺 YogLabs 2 playlist: https://www.youtube.com/playlist?list=PL3XZNMGhpynOcqv-_8opIEXbDeIk3I3tX\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n\n▬▬▬▬▬\n\nWho's in the video:\nLewis: @yogscast \nSimon: https://www.twitch.tv/simonhoneydew\n\n▬▬▬▬▬\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nBluesky: https://bsky.app/profile/yogscast.com\nWatch us live on Twitch every day! http://www.twitch.tv/yogscast/ \n\n▬▬▬▬▬\n\nProduction music courtesy of Epidemic Sound \n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT\n\n#yogscast #yoglabs #moddedminecraft", "We're back, baby! | YogLabs 2", "18adb7cb-08e4-46bf-8056-3bf1741bb775", 1222, false, "uv06bzr7Y3U", "https://www.youtube.com/watch?v=uv06bzr7Y3U", 1, "/downloads/series/YogLabs 2/Season 1/s01e00 - We_re_back_baby_YogLabs_2.mp4", false, false, false, 2, [], 1, ~U[2025-10-16 17:00:06Z], ~U[2025-10-27 21:19:30Z], ~U[2025-10-27 21:19:30Z], "YogLabs returns! Lewis and Simon are back to explore a brand new facility hidden deep in the mountains filled with all the classic YogLabs chaos you could want!\n⚠️ WARNING: Bungupinol only delays fecal disasters but does not stop them completely.\n\n⭐ Support the series and join as a member to get early access to the next episode: https://youtu.be/4Axzow0utfQ\n✨ And enjoy an exclusive behind the scenes vault door creation video! https://youtu.be/wNydbzM-shU\n🔬 YogLabs 2 Merch! https://store.yogscast.com/collection/yoglabs/\n\n❗ Featured mod - MrCrayfish's Furniture Mod: https://www.curseforge.com/minecraft/mc-mods/refurbished-furniture\n⛏️ Music synthesised at the Deepforge Sound Labs (https://deepforge.co/) - Official Soundtrack available soon!\n\n💖 BECOME A MEMBER: https://www.youtube.com/channel/UCH-_hzb2ILSCo9ftVSnrCIQ/join \n📺 YogLabs 2 playlist: https://www.youtube.com/playlist?list=PL3XZNMGhpynOcqv-_8opIEXbDeIk3I3tX\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n\n▬▬▬▬▬\n\nWho's in the video:\nLewis: @yogscast \nSimon: https://www.twitch.tv/simonhoneydew\n\n▬▬▬▬▬\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nBluesky: https://bsky.app/profile/yogscast.com\nWatch us live on Twitch every day! http://www.twitch.tv/yogscast/ \n\n▬▬▬▬▬\n\nProduction music courtesy of Epidemic Sound \n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT\n\n#yogscast #yoglabs #moddedminecraft", "We're back, baby! | YogLabs 2", 1222, false, "uv06bzr7Y3U", "https://www.youtube.com/watch?v=uv06bzr7Y3U", "/downloads/series/YogLabs 2/Season 1/s01e00 - We_re_back_baby_YogLabs_2.mp4", false, 2, ~U[2025-10-16 17:00:06Z]] 17:19:30.589 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=265.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:19:30.592 [debug] QUERY OK source="media_items" db=2.2ms idle=263.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 17:00:05Z], 2] 17:19:30.672 [debug] QUERY OK source="media_items" db=78.7ms idle=262.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" ["YogLabs 2! What's YogLabs without a barely functional coffee machine? Lewis has been working on a new invention to make the next machine more efficient than ever!\n⚠️ WARNING: Side effects include involuntary singing and total brain meltdown.\n\n⭐ Support the series and join as a member to get early access to the next episode: https://youtu.be/KXYjesEend0\n✨ And enjoy an exclusive YogLabs tour with Lewis (and some students)! https://youtu.be/CiVfz7kjisU\n🎵 ☕ Stream COFFEE MACHINE now on all the good music places: https://deepforge.co/coffee\n\n🔬 YogLabs 2 Merch! https://store.yogscast.com/collection/yoglabs/\n⛏ Music synthesised at the Deepforge Sound Labs (https://deepforge.co/) - Official Soundtrack available soon!\n\n❗ Featured mod - Create Clockwork: https://www.curseforge.com/minecraft/mc-mods/create-clockwork\n\n💖 BECOME A MEMBER: https://www.youtube.com/channel/UCH-_hzb2ILSCo9ftVSnrCIQ/join \n📺 YogLabs 2 playlist: https://www.youtube.com/playlist?list=PL3XZNMGhpynOcqv-_8opIEXbDeIk3I3tX\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n\n▬▬▬▬▬\n\nWho's in the video:\nLewis: @yogscast \nSimon: https://www.twitch.tv/simonhoneydew\n\n▬▬▬▬▬\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nBluesky: https://bsky.app/profile/yogscast.com\nWatch us live on Twitch every day! http://www.twitch.tv/yogscast/ \n\n▬▬▬▬▬\n\nProduction music courtesy of Epidemic Sound \n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT\n\n#yogscast #yoglabs #moddedminecraft #minecraftsong", "New Coffee Machine | YogLabs 2", "9198a3c8-1ee2-4e04-b2dc-fcbee5ad3125", 912, false, "4Axzow0utfQ", "https://www.youtube.com/watch?v=4Axzow0utfQ", 2, "/downloads/series/YogLabs 2/Season 1/s01e00 - New_Coffee_Machine_YogLabs_2.mp4", false, false, false, 2, [], 1, ~U[2025-10-23 17:00:05Z], ~U[2025-10-27 21:19:30Z], ~U[2025-10-27 21:19:30Z], "YogLabs 2! What's YogLabs without a barely functional coffee machine? Lewis has been working on a new invention to make the next machine more efficient than ever!\n⚠️ WARNING: Side effects include involuntary singing and total brain meltdown.\n\n⭐ Support the series and join as a member to get early access to the next episode: https://youtu.be/KXYjesEend0\n✨ And enjoy an exclusive YogLabs tour with Lewis (and some students)! https://youtu.be/CiVfz7kjisU\n🎵 ☕ Stream COFFEE MACHINE now on all the good music places: https://deepforge.co/coffee\n\n🔬 YogLabs 2 Merch! https://store.yogscast.com/collection/yoglabs/\n⛏ Music synthesised at the Deepforge Sound Labs (https://deepforge.co/) - Official Soundtrack available soon!\n\n❗ Featured mod - Create Clockwork: https://www.curseforge.com/minecraft/mc-mods/create-clockwork\n\n💖 BECOME A MEMBER: https://www.youtube.com/channel/UCH-_hzb2ILSCo9ftVSnrCIQ/join \n📺 YogLabs 2 playlist: https://www.youtube.com/playlist?list=PL3XZNMGhpynOcqv-_8opIEXbDeIk3I3tX\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n\n▬▬▬▬▬\n\nWho's in the video:\nLewis: @yogscast \nSimon: https://www.twitch.tv/simonhoneydew\n\n▬▬▬▬▬\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nBluesky: https://bsky.app/profile/yogscast.com\nWatch us live on Twitch every day! http://www.twitch.tv/yogscast/ \n\n▬▬▬▬▬\n\nProduction music courtesy of Epidemic Sound \n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT\n\n#yogscast #yoglabs #moddedminecraft #minecraftsong", "New Coffee Machine | YogLabs 2", 912, false, "4Axzow0utfQ", "https://www.youtube.com/watch?v=4Axzow0utfQ", "/downloads/series/YogLabs 2/Season 1/s01e00 - New_Coffee_Machine_YogLabs_2.mp4", false, 2, ~U[2025-10-23 17:00:05Z]] 17:19:30.676 [debug] QUERY OK source="sources" db=3.2ms queue=0.2ms idle=85.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:19:30.680 [debug] QUERY OK source="media_items" db=3.6ms queue=0.1ms idle=86.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 16:18:06Z], 2] 17:19:30.772 [debug] QUERY OK source="media_items" db=90.7ms idle=90.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" ["YogLabs 2! A skater gang has taken over YogLabs and the only way to win it back is with a gnarly skate competition! It's up to Simon and his skateboard skills to defeat Boney Hawk!\n⚠️ WARNING: Installing brain-chips from retro games can cause dramatic personality shifts.\n\n⭐ Members! If you're seeing this then you're watching an Early Access episode! Thanks for supporting the series - the third episode will be out next Thursday!\n✨ Until then: enjoy an exclusive YogLabs tour with Lewis (with new BTS videos every week)! https://youtu.be/CiVfz7kjisU\n\n🛹 You TOO can be a sk8r dad! Merch available now! https://store.yogscast.com/collection/yoglabs/\n\n🔬 YogLabs 2 Merch! https://store.yogscast.com/collection/yoglabs/\n⛏ Music synthesised at the Deepforge Sound Labs (https://deepforge.co/) - Official Soundtrack available soon!\n\n❗ Featured mod - I Wanna Skate: https://www.curseforge.com/minecraft/mc-mods/i-wanna-skate\n\n💖 BECOME A MEMBER: https://www.youtube.com/channel/UCH-_hzb2ILSCo9ftVSnrCIQ/join \n📺 YogLabs 2 playlist: https://www.youtube.com/playlist?list=PL3XZNMGhpynOcqv-_8opIEXbDeIk3I3tX\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n\n▬▬▬▬▬\n\nWho's in the video:\nLewis: @yogscast \nSimon: https://www.twitch.tv/simonhoneydew\n\n▬▬▬▬▬\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nBluesky: https://bsky.app/profile/yogscast.com\nWatch us live on Twitch every day! http://www.twitch.tv/yogscast/ \n\n▬▬▬▬▬\n\nProduction music courtesy of Epidemic Sound \n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT\n\n#yogscast #yoglabs #moddedminecraft #minecraftsong", "Boney Hawk's Pro Skater | YogLabs 2", "d56ff06e-d421-4b55-8b1a-93e0751ed061", 1562, false, "KXYjesEend0", "https://www.youtube.com/watch?v=KXYjesEend0", 3, "/downloads/series/YogLabs 2/Season 1/s01e00 - Boney_Hawk_s_Pro_Skater_YogLabs_2.NA", false, false, false, 2, [], 1, ~U[2025-10-23 16:18:06Z], ~U[2025-10-27 21:19:30Z], ~U[2025-10-27 21:19:30Z], "YogLabs 2! A skater gang has taken over YogLabs and the only way to win it back is with a gnarly skate competition! It's up to Simon and his skateboard skills to defeat Boney Hawk!\n⚠️ WARNING: Installing brain-chips from retro games can cause dramatic personality shifts.\n\n⭐ Members! If you're seeing this then you're watching an Early Access episode! Thanks for supporting the series - the third episode will be out next Thursday!\n✨ Until then: enjoy an exclusive YogLabs tour with Lewis (with new BTS videos every week)! https://youtu.be/CiVfz7kjisU\n\n🛹 You TOO can be a sk8r dad! Merch available now! https://store.yogscast.com/collection/yoglabs/\n\n🔬 YogLabs 2 Merch! https://store.yogscast.com/collection/yoglabs/\n⛏ Music synthesised at the Deepforge Sound Labs (https://deepforge.co/) - Official Soundtrack available soon!\n\n❗ Featured mod - I Wanna Skate: https://www.curseforge.com/minecraft/mc-mods/i-wanna-skate\n\n💖 BECOME A MEMBER: https://www.youtube.com/channel/UCH-_hzb2ILSCo9ftVSnrCIQ/join \n📺 YogLabs 2 playlist: https://www.youtube.com/playlist?list=PL3XZNMGhpynOcqv-_8opIEXbDeIk3I3tX\n👕 Buy Yogscast Merch: https://store.yogscast.com/\n\n▬▬▬▬▬\n\nWho's in the video:\nLewis: @yogscast \nSimon: https://www.twitch.tv/simonhoneydew\n\n▬▬▬▬▬\n\nKeep up to date on The Yogscast here:\nTwitter: https://twitter.com/yogscast\nTikTok: https://www.tiktok.com/@yogscastofficial\nInstagram: https://www.instagram.com/officialyogscast\nBluesky: https://bsky.app/profile/yogscast.com\nWatch us live on Twitch every day! http://www.twitch.tv/yogscast/ \n\n▬▬▬▬▬\n\nProduction music courtesy of Epidemic Sound \n\nBusiness enquiries: contact@yogscast.com\n\nWant to send something to us? Here's our address:\n\nLewis & Simon - The Yogscast\n4th Floor - King William House\n13 Queen Square\nBristol\nBS1 4NT\n\n#yogscast #yoglabs #moddedminecraft #minecraftsong", "Boney Hawk's Pro Skater | YogLabs 2", 1562, false, "KXYjesEend0", "https://www.youtube.com/watch?v=KXYjesEend0", "/downloads/series/YogLabs 2/Season 1/s01e00 - Boney_Hawk_s_Pro_Skater_YogLabs_2.NA", false, 2, ~U[2025-10-23 16:18:06Z]] 17:19:30.814 [debug] QUERY OK source="sources" db=41.7ms queue=0.1ms idle=180.3ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 21:19:30Z], ~U[2025-10-27 21:19:30Z], 2] 17:19:30.820 [debug] QUERY OK source="media_items" db=4.7ms idle=143.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 17:19:30.924 [debug] QUERY OK source="tasks" db=41.7ms queue=0.1ms idle=62.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [124, 192, ~U[2025-10-27 21:19:30Z], ~U[2025-10-27 21:19:30Z]] 17:19:30.929 [debug] QUERY OK source="media_items" db=4.1ms queue=0.1ms idle=98.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")))) [2] 17:19:30.932 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=97.4ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 17:19:30.932 [info] No notification servers provided for source 2 17:19:31.088 [debug] QUERY OK source="tasks" db=99.9ms idle=63.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [125, 2, ~U[2025-10-27 21:19:30Z], ~U[2025-10-27 21:19:30Z]] 17:19:31.196 [info] {"args":{"id":2},"id":95,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":308839478,"event":"job:stop","queue_time":935690,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 17:19:49.680 [info] {"source":"oban","duration":5148,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:49.915 [info] GET / 17:19:49.916 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:19:49.919 [debug] QUERY OK source="settings" db=2.8ms idle=1217.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:19:49.921 [debug] QUERY OK source="media_profiles" db=2.2ms idle=1220.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:19:49.925 [debug] QUERY OK source="sources" db=3.0ms idle=1223.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:19:49.936 [debug] QUERY OK source="media_items" db=10.8ms idle=244.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:19:49.940 [debug] QUERY OK source="media_items" db=3.3ms queue=0.1ms idle=245.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:19:49.942 [debug] QUERY OK source="settings" db=2.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:19:49.945 [debug] QUERY OK source="settings" db=2.6ms idle=21.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:49.948 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=20.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:49.954 [debug] QUERY OK source="tasks" db=4.3ms 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"] 17:19:49.958 [debug] QUERY OK source="sources" db=3.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:19:49.958 [debug] QUERY OK source="media_items" db=3.9ms 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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [67] 17:19:49.964 [debug] QUERY OK source="media_items" db=3.8ms 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 (m0."media_filepath" IS NULL)) [] 17:19:49.972 [debug] QUERY OK source="media_items" db=7.4ms idle=16.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] 17:19:49.974 [debug] QUERY OK source="sources" db=2.4ms idle=18.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:19:49.990 [debug] QUERY OK source="media_items" db=12.0ms idle=20.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"))) [] 17:19:49.995 [debug] QUERY OK source="media_items" db=4.8ms idle=32.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:19:49.998 [debug] QUERY OK source="sources" db=2.1ms idle=32.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [1, 2] 17:19:50.000 [info] Sent 200 in 84ms 17:19:50.101 [info] CONNECTED TO Phoenix.LiveView.Socket in 39µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cT4BXiQAWBEdBnNsPSdqKDETIxUABS0NIOe9gyhtJj2TMo_CcJFpXbAO", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.home.johnhollowell.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.home.johnhollowell.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:19:50.172 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "downloaded"} 17:19:50.177 [debug] QUERY OK source="media_items" db=4.0ms idle=201.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)) [] 17:19:50.180 [debug] QUERY OK source="media_items" db=3.2ms idle=202.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "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:19:50.183 [debug] QUERY OK source="sources" db=2.5ms idle=190.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:19:50.184 [debug] Replied in 11ms 17:19:50.186 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB", "media_state" => "pending"} 17:19:50.198 [debug] QUERY OK source="media_items" db=11.5ms idle=191.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:19:50.203 [debug] QUERY OK source="media_items" db=4.3ms idle=200.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:19:50.206 [debug] QUERY OK source="sources" db=2.7ms idle=26.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [1, 2] 17:19:50.207 [debug] Replied in 20ms 17:19:50.210 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "8qdgCy0eWlA8pH5kRYeeXglB"} 17:19:50.213 [debug] QUERY OK source="tasks" db=3.0ms 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"] 17:19:50.223 [debug] QUERY OK source="sources" db=9.3ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:19:50.224 [debug] QUERY OK source="media_items" db=10.1ms queue=0.1ms idle=30.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [67] 17:19:50.224 [debug] Replied in 14ms 17:20:00.381 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:20:19.686 [info] {"source":"oban","duration":4586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:23.077 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLF60520313D07F366 --simulate --skip-download --ignore-no-formats-error --playlist-end 1 --output /downloads/series/Shadow Of Israphel/Season 1/s01e00 - %(title)S.%(ext)S --print-to-file %(.{channel,channel_id,playlist_id,playlist_title,filename})j /tmp/pinchflat/data/dd/53/dd53537ce9278978d9e488cfd6e81aa8de1f6824cca012640b4eef76250e3333.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 4UdEFmxRmNE: nsig extraction failed: Some formats may be missing n = 1MOROMZSba6vyIOh ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 4UdEFmxRmNE: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 4UdEFmxRmNE: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:20:23.078 [debug] Running yt-dlp command for action: get_source_metadata 17:20:23.082 [debug] QUERY OK source="settings" db=2.9ms idle=1380.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:23.086 [debug] QUERY OK source="settings" db=3.5ms idle=1383.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:23.089 [debug] QUERY OK source="settings" db=2.8ms idle=1157.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:23.090 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLF60520313D07F366 --skip-download --convert-thumbnails jpg --output /tmp/pinchflat/data/60348247083a0b6d/source_image.%(ext)S --write-thumbnail --playlist-items 1 --print-to-file playlist:%()j /tmp/pinchflat/data/38/54/3854606deff4b0c5b362d697a2ad34529723b7d5fa1f317a48ad9adc93c1ed88.json --sleep-requests 13 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:20:26.487 [info] GET /sources/1/media/92/force_download 17:20:26.491 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=1789.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:26.493 [debug] QUERY OK source="settings" db=1.8ms idle=1792.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:26.493 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:20:26.493 [error] #PID<0.3734.0> running PinchflatWeb.Endpoint (connection #PID<0.3733.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/92/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/92/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3733.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/92/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46762}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3734.0>, params: %{}, path_info: ["sources", "1", "media", "92", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/92/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ15AcecPujdrgAADMh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3733.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/92/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46762}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/92/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3733.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/92/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46762}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3734.0>, params: %{}, path_info: ["sources", "1", "media", "92", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 17:20:49.690 [info] {"source":"oban","duration":3733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:00.382 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:21:17.761 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3071VQtKEAE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e54 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e54 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/96/6e/966ef0a898514623f2d0c67785b044f75812e88f7b4eea16c487d0f2608a94bd.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 3071VQtKEAE: nsig extraction failed: Some formats may be missing n = B7U0FXFuhy8o3quH ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 3071VQtKEAE: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 3071VQtKEAE: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:21:17.969 [debug] Running yt-dlp command for action: download_thumbnail 17:21:17.973 [debug] QUERY OK source="settings" db=2.7ms idle=1272.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:21:17.976 [debug] QUERY OK source="settings" db=2.3ms idle=1275.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:21:17.979 [debug] QUERY OK source="settings" db=3.1ms idle=633.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:21:17.980 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3071VQtKEAE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/67/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/f8/4c/f84ce318b4e84cc7f5636c1fe38214cf717a19b436f38072bc34c4b387fb48f3.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:21:19.696 [info] {"source":"oban","duration":4353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:49.703 [info] {"source":"oban","duration":5495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:00.383 [info] {"source":"oban","duration":290,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:22:04.414 [info] GET /sources/1/media/65/force_download 17:22:04.418 [debug] QUERY OK source="settings" db=3.2ms idle=1703.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:22:04.420 [debug] QUERY OK source="settings" db=2.4ms idle=854.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:22:04.420 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:22:04.421 [error] #PID<0.3745.0> running PinchflatWeb.Endpoint (connection #PID<0.3744.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/65/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/65/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3744.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/65/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46232}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3745.0>, params: %{}, path_info: ["sources", "1", "media", "65", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/65/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ1-tP92zZeOrYAADOB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3744.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/65/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46232}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/65/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3744.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/65/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46232}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3745.0>, params: %{}, path_info: ["sources", "1", "media", "65", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 17:22:15.301 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLF60520313D07F366 --skip-download --convert-thumbnails jpg --output /tmp/pinchflat/data/60348247083a0b6d/source_image.%(ext)S --write-thumbnail --playlist-items 1 --print-to-file playlist:%()j /tmp/pinchflat/data/38/54/3854606deff4b0c5b362d697a2ad34529723b7d5fa1f317a48ad9adc93c1ed88.json --sleep-requests 13 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] 4UdEFmxRmNE: nsig extraction failed: Some formats may be missing n = zRo7r-vn5fYJne8 ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] 4UdEFmxRmNE: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 4UdEFmxRmNE: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:22:15.611 [debug] QUERY OK source="sources" db=43.4ms idle=1856.5ms UPDATE "sources" SET "nfo_filepath" = ?, "series_directory" = ?, "poster_filepath" = ?, "updated_at" = ? WHERE "id" = ? [nil, "/downloads/series/Shadow Of Israphel", "/downloads/series/Shadow Of Israphel/poster.jpg", ~U[2025-10-27 21:22:15Z], 1] 17:22:15.679 [info] {"args":{"id":1},"id":123,"meta":{},"state":"success","max_attempts":3,"queue":"remote_metadata","worker":"Pinchflat.Metadata.SourceMetadataStorageWorker","source":"oban","duration":229486298,"event":"job:stop","queue_time":1038643,"attempt":1,"tags":["media_source","source_metadata","remote_metadata","show_in_dashboard"]} 17:22:19.708 [info] {"source":"oban","duration":4637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:31.509 [info] GET /sources/2/force_metadata_refresh 17:22:31.514 [debug] QUERY OK source="settings" db=4.7ms idle=816.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:22:31.517 [debug] QUERY OK source="settings" db=2.7ms idle=803.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:22:31.517 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:22:31.518 [error] #PID<0.3752.0> running PinchflatWeb.Endpoint (connection #PID<0.3751.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3751.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49382}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3752.0>, params: %{}, path_info: ["sources", "2", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/2/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ2ASL4iuNna60AAD1i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3751.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49382}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3751.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49382}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3752.0>, params: %{}, path_info: ["sources", "2", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endp (truncated) 17:22:43.576 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3071VQtKEAE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/67/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/f8/4c/f84ce318b4e84cc7f5636c1fe38214cf717a19b436f38072bc34c4b387fb48f3.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 3071VQtKEAE: nsig extraction failed: Some formats may be missing n = olx-jGfA3FpSdmgE ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 3071VQtKEAE: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 3071VQtKEAE: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:22:43.577 [debug] QUERY OK db=0.1ms queue=0.1ms idle=866.2ms begin [] 17:22:43.617 [debug] QUERY OK source="media_items" db=39.4ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 21:21:17Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e54 - Minecraft_-_Shadow_of_Israphel_Part_16_-_A_Beacon_of_Hope.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e54 - Minecraft_-_Shadow_of_Israphel_Part_16_-_A_Beacon_of_Hope.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e54 - Minecraft_-_Shadow_of_Israphel_Part_16_-_A_Beacon_of_Hope.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e54 - Minecraft_-_Shadow_of_Israphel_Part_16_-_A_Beacon_of_Hope-thumb.jpg", ~U[2025-10-27 21:22:43Z], 67] 17:22:43.621 [debug] QUERY OK source="media_metadata" db=3.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/67/metadata.json.gz", "/config/metadata/media_items/67/thumbnail.jpg", 67, ~U[2025-10-27 21:22:43Z], ~U[2025-10-27 21:22:43Z]] 17:22:43.804 [debug] QUERY OK db=183.3ms commit [] 17:22:44.388 [debug] QUERY OK source="media_items" db=581.7ms idle=1095.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [280561213, ~U[2025-10-27 21:22:43Z], 67] 17:22:44.389 [info] User scripts lifecyle file either not present or is empty. Skipping. 17:22:44.598 [info] {"args":{"id":67},"id":59,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":396217111,"event":"job:stop","queue_time":9294115679,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 17:22:44.810 [info] {"args":{"id":68},"id":60,"meta":{},"system_time":1761600164809851495,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 17:22:44.815 [debug] QUERY OK source="media_items" db=4.3ms queue=0.1ms idle=1005.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [68] 17:22:44.815 [info] User scripts lifecyle file either not present or is empty. Skipping. 17:22:44.821 [debug] QUERY OK source="sources" db=3.2ms queue=2.3ms idle=427.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:22:44.827 [debug] QUERY OK source="media_profiles" db=5.2ms queue=0.2ms idle=223.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:22:44.834 [debug] QUERY OK source="media_items" db=5.9ms queue=0.3ms 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 [68] 17:22:44.842 [debug] QUERY OK source="media_metadata" db=4.0ms idle=23.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [68] 17:22:44.846 [debug] QUERY OK source="media_profiles" db=3.2ms 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] 17:22:44.851 [debug] QUERY OK source="settings" db=3.8ms 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 [] 17:22:44.856 [debug] QUERY OK source="settings" db=4.3ms 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 [] 17:22:44.859 [debug] Running yt-dlp command for action: get_downloadable_status 17:22:44.863 [debug] QUERY OK source="settings" db=2.9ms 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 [] 17:22:44.866 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=20.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:22:44.870 [debug] QUERY OK source="settings" db=4.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 [] 17:22:44.871 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cg9zPvYWI9Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a4/47/a44713b3e5b2bfe359fe85c4c4251e4e10f4384c51f17535ac74edb2c8cc224d.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:22:49.715 [info] {"source":"oban","duration":5380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:00.384 [info] {"source":"oban","duration":295,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:23:19.720 [info] {"source":"oban","duration":4782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:34.282 [info] GET /sources/1/media/59/force_download 17:23:34.286 [debug] QUERY OK source="settings" db=2.7ms idle=1210.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:23:34.288 [debug] QUERY OK source="settings" db=2.4ms idle=575.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:23:34.288 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:23:34.289 [error] #PID<0.3761.0> running PinchflatWeb.Endpoint (connection #PID<0.3760.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/59/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/59/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3760.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/59/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 40008}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3761.0>, params: %{}, path_info: ["sources", "1", "media", "59", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/59/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ2D8CSvzd0qBgAADOh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3760.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/59/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 40008}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/59/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3760.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/59/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 40008}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3761.0>, params: %{}, path_info: ["sources", "1", "media", "59", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 17:23:49.725 [info] {"source":"oban","duration":3558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:00.385 [info] {"source":"oban","duration":302,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:24:18.971 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cg9zPvYWI9Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a4/47/a44713b3e5b2bfe359fe85c4c4251e4e10f4384c51f17535ac74edb2c8cc224d.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] cg9zPvYWI9Q: nsig extraction failed: Some formats may be missing n = 0MoYIx-OAa-SW6x7 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] cg9zPvYWI9Q: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] cg9zPvYWI9Q: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:24:18.971 [debug] Running yt-dlp command for action: download 17:24:18.973 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=1260.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:24:18.976 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=1263.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:24:18.979 [debug] QUERY OK source="settings" db=2.7ms idle=1266.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:24:18.980 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cg9zPvYWI9Q --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e55 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e55 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/bd/1b/bd1bfaa245787fba7ed17844194d7490c51c40b75d032469f106083dfe5a1e9a.json --sleep-requests 14 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:24:19.729 [info] {"source":"oban","duration":3439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:34.614 [info] GET /sources/1/media/98/force_download 17:24:34.617 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=1903.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:24:34.619 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=1250.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:24:34.620 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:24:34.620 [error] #PID<0.3768.0> running PinchflatWeb.Endpoint (connection #PID<0.3767.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/98/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/98/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3767.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/98/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 40700}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3768.0>, params: %{}, path_info: ["sources", "1", "media", "98", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/98/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ2HcyaLC6L5aQAADQB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3767.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/98/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 40700}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/98/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3767.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/98/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 40700}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3768.0>, params: %{}, path_info: ["sources", "1", "media", "98", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 17:24:49.734 [info] {"source":"oban","duration":4843,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:00.386 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:25:19.740 [info] {"source":"oban","duration":4877,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:36.655 [info] GET /sources/1/media/93/force_download 17:25:36.658 [debug] QUERY OK source="settings" db=2.4ms idle=983.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:25:36.660 [debug] QUERY OK source="settings" db=2.5ms idle=947.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:25:36.661 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:25:36.661 [error] #PID<0.3774.0> running PinchflatWeb.Endpoint (connection #PID<0.3773.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/93/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/93/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3773.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/93/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 34102}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3774.0>, params: %{}, path_info: ["sources", "1", "media", "93", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/93/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ2LD6JS0nWk5UAADRh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3773.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/93/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 34102}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/93/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3773.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/93/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 34102}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3774.0>, params: %{}, path_info: ["sources", "1", "media", "93", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 17:25:49.745 [info] {"source":"oban","duration":3478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:00.387 [info] {"source":"oban","duration":308,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:26:19.748 [info] {"source":"oban","duration":3210,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:39.438 [info] GET /sources/2/force_redownload 17:26:39.441 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=1728.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:26:39.443 [debug] QUERY OK source="settings" db=2.0ms idle=1730.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:26:39.444 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:26:39.444 [error] #PID<0.3781.0> running PinchflatWeb.Endpoint (connection #PID<0.3780.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3780.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_redownload", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41282}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3781.0>, params: %{}, path_info: ["sources", "2", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/2/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ2Oty60Uqi9VkAADTB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3780.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_redownload", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41282}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3780.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_redownload", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41282}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3781.0>, params: %{}, path_info: ["sources", "2", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_ro (truncated) 17:26:49.753 [info] {"source":"oban","duration":4202,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:00.388 [info] {"source":"oban","duration":307,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:27:19.758 [info] {"source":"oban","duration":3861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:40.715 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cg9zPvYWI9Q --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e55 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e55 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/bd/1b/bd1bfaa245787fba7ed17844194d7490c51c40b75d032469f106083dfe5a1e9a.json --sleep-requests 14 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] cg9zPvYWI9Q: nsig extraction failed: Some formats may be missing n = TowlU8ZX_xSc9euj ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] cg9zPvYWI9Q: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] cg9zPvYWI9Q: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:27:40.799 [debug] Running yt-dlp command for action: download_thumbnail 17:27:40.803 [debug] QUERY OK source="settings" db=2.4ms idle=1088.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:27:40.805 [debug] QUERY OK source="settings" db=2.2ms idle=1091.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:27:40.807 [debug] QUERY OK source="settings" db=2.1ms idle=1093.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:27:40.808 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cg9zPvYWI9Q --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/68/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/88/39/88398491f3856e91cfde8b7f68046c3ef536cabf34b842bd8771febc0dc45006.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:27:45.060 [info] GET /sources/1/media/58/force_download 17:27:45.064 [debug] QUERY OK source="settings" db=2.9ms idle=1349.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:27:45.070 [debug] QUERY OK source="settings" db=6.0ms idle=607.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:27:45.070 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:27:45.071 [error] #PID<0.3790.0> running PinchflatWeb.Endpoint (connection #PID<0.3789.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/58/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/58/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3789.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/58/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 33386}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3790.0>, params: %{}, path_info: ["sources", "1", "media", "58", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/58/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ2SiQb1kMi7owAADUh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3789.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/58/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 33386}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/58/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3789.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/58/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 33386}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3790.0>, params: %{}, path_info: ["sources", "1", "media", "58", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 17:27:49.763 [info] {"source":"oban","duration":3303,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:00.389 [info] {"source":"oban","duration":320,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:28:19.767 [info] {"source":"oban","duration":3589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:48.597 [info] GET /sources/1/force_metadata_refresh 17:28:48.600 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=1826.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:28:48.603 [debug] QUERY OK source="settings" db=2.7ms idle=889.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:28:48.604 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:28:48.604 [error] #PID<0.3799.0> running PinchflatWeb.Endpoint (connection #PID<0.3798.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com: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.3798.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 45090}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3799.0>, params: %{}, path_info: ["sources", "1", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], 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", "GHJ2WO824FgbPZIAADWh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3798.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 45090}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3798.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 45090}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3799.0>, params: %{}, path_info: ["sources", "1", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endp (truncated) 17:28:49.772 [info] {"source":"oban","duration":3867,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:00.390 [info] {"source":"oban","duration":259,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:29:18.348 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cg9zPvYWI9Q --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/68/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/88/39/88398491f3856e91cfde8b7f68046c3ef536cabf34b842bd8771febc0dc45006.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] cg9zPvYWI9Q: nsig extraction failed: Some formats may be missing n = CYma-vksFn8FEqA5 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] cg9zPvYWI9Q: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] cg9zPvYWI9Q: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:29:18.349 [debug] QUERY OK db=0.2ms idle=636.7ms begin [] 17:29:18.373 [debug] QUERY OK source="media_items" db=23.5ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 21:27:40Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e55 - Minecraft_-_Granny_Bacon_s_Funeral_Shadow_of_Israphel_Special.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e55 - Minecraft_-_Granny_Bacon_s_Funeral_Shadow_of_Israphel_Special.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e55 - Minecraft_-_Granny_Bacon_s_Funeral_Shadow_of_Israphel_Special.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e55 - Minecraft_-_Granny_Bacon_s_Funeral_Shadow_of_Israphel_Special-thumb.jpg", ~U[2025-10-27 21:29:18Z], 68] 17:29:18.376 [debug] QUERY OK source="media_metadata" db=3.2ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/68/metadata.json.gz", "/config/metadata/media_items/68/thumbnail.jpg", 68, ~U[2025-10-27 21:29:18Z], ~U[2025-10-27 21:29:18Z]] 17:29:18.444 [debug] QUERY OK db=67.9ms commit [] 17:29:18.520 [debug] QUERY OK source="media_items" db=72.7ms idle=735.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [310109262, ~U[2025-10-27 21:29:18Z], 68] 17:29:18.521 [info] User scripts lifecyle file either not present or is empty. Skipping. 17:29:18.788 [info] {"args":{"id":68},"id":60,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":393712150,"event":"job:stop","queue_time":9689604707,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 17:29:19.247 [info] {"args":{"id":69},"id":61,"meta":{},"system_time":1761600559247741928,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 17:29:19.251 [debug] QUERY OK source="media_items" db=3.1ms idle=803.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" = ?) [69] 17:29:19.252 [info] User scripts lifecyle file either not present or is empty. Skipping. 17:29:19.255 [debug] QUERY OK source="sources" db=2.5ms idle=731.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:29:19.257 [debug] QUERY OK source="media_profiles" db=2.5ms idle=467.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:29:19.262 [debug] QUERY OK source="media_items" db=3.5ms idle=335.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 [69] 17:29:19.266 [debug] QUERY OK source="media_metadata" db=2.3ms idle=16.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [69] 17:29:19.270 [debug] QUERY OK source="media_profiles" db=3.7ms idle=15.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:29:19.273 [debug] QUERY OK source="settings" db=2.2ms 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:29:19.276 [debug] QUERY OK source="settings" db=2.3ms 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 [] 17:29:19.277 [debug] Running yt-dlp command for action: get_downloadable_status 17:29:19.281 [debug] QUERY OK source="settings" db=2.3ms 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 [] 17:29:19.283 [debug] QUERY OK source="settings" db=2.5ms idle=14.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:29:19.286 [debug] QUERY OK source="settings" db=2.4ms idle=13.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:29:19.287 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Q_NuUsLT720 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5a/ae/5aae4e197a50de2e67b79f8a39cd5d7aa65d168e25dbffff5b72c811ebe375be.json --sleep-requests 13 --sleep-interval 13 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:29:19.779 [info] {"source":"oban","duration":5739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:49.162 [info] GET /sources/1/media/61/force_download 17:29:49.165 [debug] QUERY OK source="settings" db=2.7ms idle=1088.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:29:49.168 [debug] QUERY OK source="settings" db=2.3ms idle=450.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:29:49.168 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:29:49.168 [error] #PID<0.3808.0> running PinchflatWeb.Endpoint (connection #PID<0.3807.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/61/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/61/force_download (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/media/61/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 53620}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3808.0>, params: %{}, path_info: ["sources", "1", "media", "61", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/61/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ2Zwkikxv3wk8AADYh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :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/media/61/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 53620}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/61/force_download (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/media/61/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 53620}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3808.0>, params: %{}, path_info: ["sources", "1", "media", "61", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 17:29:49.785 [info] {"source":"oban","duration":4525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:00.391 [info] {"source":"oban","duration":303,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:30:19.791 [info] {"source":"oban","duration":5596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:41.250 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Q_NuUsLT720 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5a/ae/5aae4e197a50de2e67b79f8a39cd5d7aa65d168e25dbffff5b72c811ebe375be.json --sleep-requests 13 --sleep-interval 13 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] Q_NuUsLT720: nsig extraction failed: Some formats may be missing n = aDZTXqjg1D0_iO6s ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] Q_NuUsLT720: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] Q_NuUsLT720: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:30:41.251 [debug] Running yt-dlp command for action: download 17:30:41.254 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=1536.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:30:41.256 [debug] QUERY OK source="settings" db=2.2ms idle=1539.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:30:41.259 [debug] QUERY OK source="settings" db=2.6ms idle=1541.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:30:41.260 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Q_NuUsLT720 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e56 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e56 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f4/52/f452af95128fca9119f4171eaed13e0944181a743d4dd5e5a391dc7ca9bb751e.json --sleep-requests 12 --sleep-interval 14 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:30:49.795 [info] {"source":"oban","duration":4193,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:52.610 [info] GET /sources/1/media/56/force_download 17:30:52.613 [debug] QUERY OK source="settings" db=2.8ms idle=1896.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:30:52.616 [debug] QUERY OK source="settings" db=2.1ms idle=1899.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:30:52.616 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:30:52.616 [error] #PID<0.3815.0> running PinchflatWeb.Endpoint (connection #PID<0.3814.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/56/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/56/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3814.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/56/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 33592}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3815.0>, params: %{}, path_info: ["sources", "1", "media", "56", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/56/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ2dc7zbZcBglgAADaB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3814.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/56/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 33592}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/56/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3814.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/56/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 33592}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3815.0>, params: %{}, path_info: ["sources", "1", "media", "56", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 17:31:00.392 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:31:19.800 [info] {"source":"oban","duration":3939,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:49.805 [info] {"source":"oban","duration":3649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:56.967 [info] GET /sources/1/media/64/force_download 17:31:56.970 [debug] QUERY OK source="settings" db=2.4ms idle=1252.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:31:56.972 [debug] QUERY OK source="settings" db=2.1ms idle=1255.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:31:56.972 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:31:56.973 [error] #PID<0.3821.0> running PinchflatWeb.Endpoint (connection #PID<0.3820.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/64/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/64/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3820.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/64/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 60326}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3821.0>, params: %{}, path_info: ["sources", "1", "media", "64", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/64/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ2hMrpKPC1diUAADbh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3820.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/64/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 60326}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/64/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3820.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/64/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 60326}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3821.0>, params: %{}, path_info: ["sources", "1", "media", "64", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 17:32:00.393 [info] {"source":"oban","duration":325,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:32:19.808 [info] {"source":"oban","duration":3159,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:49.813 [info] {"source":"oban","duration":4191,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:59.705 [info] GET /sources/1/media/66/force_download 17:32:59.708 [debug] QUERY OK source="settings" db=2.5ms idle=1990.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:32:59.711 [debug] QUERY OK source="settings" db=2.2ms idle=1993.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:32:59.711 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:32:59.711 [error] #PID<0.3828.0> running PinchflatWeb.Endpoint (connection #PID<0.3827.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/66/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/66/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/66/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51900}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3828.0>, params: %{}, path_info: ["sources", "1", "media", "66", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/66/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ2k2ZlAjpisGAAADdB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/66/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51900}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/66/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3827.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/66/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51900}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3828.0>, params: %{}, path_info: ["sources", "1", "media", "66", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 17:33:00.394 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:33:19.998 [info] {"source":"oban","duration":184058,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:50.003 [info] {"source":"oban","duration":3760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:00.395 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:34:04.786 [info] GET /sources/1/media/63/force_download 17:34:04.789 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=1072.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:34:04.792 [debug] QUERY OK source="settings" db=2.1ms idle=1075.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:34:04.792 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:34:04.793 [error] #PID<0.3834.0> running PinchflatWeb.Endpoint (connection #PID<0.3833.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/63/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/63/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3833.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/63/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 34204}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3834.0>, params: %{}, path_info: ["sources", "1", "media", "63", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/63/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ2oo2EN9ikJqcAADeh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3833.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/63/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 34204}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/63/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3833.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/63/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 34204}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3834.0>, params: %{}, path_info: ["sources", "1", "media", "63", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 17:34:20.009 [info] {"source":"oban","duration":5191,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:31.369 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Q_NuUsLT720 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e56 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e56 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f4/52/f452af95128fca9119f4171eaed13e0944181a743d4dd5e5a391dc7ca9bb751e.json --sleep-requests 12 --sleep-interval 14 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Q_NuUsLT720: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] Q_NuUsLT720: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] Q_NuUsLT720: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:34:31.457 [debug] Running yt-dlp command for action: download_thumbnail 17:34:31.461 [debug] QUERY OK source="settings" db=2.7ms idle=1742.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:34:31.464 [debug] QUERY OK source="settings" db=2.5ms idle=1745.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:34:31.466 [debug] QUERY OK source="settings" db=2.4ms idle=1706.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:34:31.467 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Q_NuUsLT720 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/69/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/26/05/26055db6b89edbda65482071da768d032361e26708212beb0650b30db8d01b99.json --sleep-requests 12 --sleep-interval 13 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:34:50.013 [info] {"source":"oban","duration":3099,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:00.396 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:35:09.984 [info] GET /sources/1/media/99/force_download 17:35:09.987 [debug] QUERY OK source="settings" db=3.0ms idle=1268.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:35:09.990 [debug] QUERY OK source="settings" db=2.6ms idle=1021.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:35:09.990 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:35:09.991 [error] #PID<0.3844.0> running PinchflatWeb.Endpoint (connection #PID<0.3843.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/99/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/99/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3843.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/99/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58552}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3844.0>, params: %{}, path_info: ["sources", "1", "media", "99", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/99/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ2sbuZz_-HQYcAADfh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3843.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/99/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58552}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/99/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3843.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/99/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58552}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3844.0>, params: %{}, path_info: ["sources", "1", "media", "99", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 17:35:20.018 [info] {"source":"oban","duration":3593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:50.022 [info] {"source":"oban","duration":3773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:51.303 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Q_NuUsLT720 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/69/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/26/05/26055db6b89edbda65482071da768d032361e26708212beb0650b30db8d01b99.json --sleep-requests 12 --sleep-interval 13 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] Q_NuUsLT720: nsig extraction failed: Some formats may be missing n = kyZk2H81RoX7x4lM ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] Q_NuUsLT720: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] Q_NuUsLT720: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:35:51.304 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1588.5ms begin [] 17:35:51.333 [debug] QUERY OK source="media_items" db=28.0ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 21:34:31Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e56 - Minecraft_-_Shadow_of_Israphel_Part_17_-_The_Fragmented_Map.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e56 - Minecraft_-_Shadow_of_Israphel_Part_17_-_The_Fragmented_Map.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e56 - Minecraft_-_Shadow_of_Israphel_Part_17_-_The_Fragmented_Map.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e56 - Minecraft_-_Shadow_of_Israphel_Part_17_-_The_Fragmented_Map-thumb.jpg", ~U[2025-10-27 21:35:51Z], 69] 17:35:51.350 [debug] QUERY OK source="media_metadata" db=17.3ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/69/metadata.json.gz", "/config/metadata/media_items/69/thumbnail.jpg", 69, ~U[2025-10-27 21:35:51Z], ~U[2025-10-27 21:35:51Z]] 17:35:51.456 [debug] QUERY OK db=105.4ms commit [] 17:35:51.556 [debug] QUERY OK source="media_items" db=98.3ms idle=1742.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [221019802, ~U[2025-10-27 21:35:51Z], 69] 17:35:51.558 [info] User scripts lifecyle file either not present or is empty. Skipping. 17:35:51.715 [info] {"args":{"id":69},"id":61,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":392311008,"event":"job:stop","queue_time":10083793679,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 17:35:51.797 [info] {"args":{"id":70},"id":62,"meta":{},"system_time":1761600951797409426,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 17:35:51.800 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=341.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" = ?) [70] 17:35:51.801 [info] User scripts lifecyle file either not present or is empty. Skipping. 17:35:51.804 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=244.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:35:51.807 [debug] QUERY OK source="media_profiles" db=2.5ms 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] 17:35:51.811 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=92.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 [70] 17:35:51.815 [debug] QUERY OK source="media_metadata" db=2.4ms idle=15.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [70] 17:35:51.818 [debug] QUERY OK source="media_profiles" db=2.4ms idle=14.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:35:51.821 [debug] QUERY OK source="settings" db=2.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 [] 17:35:51.824 [debug] QUERY OK source="settings" db=2.7ms idle=13.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:35:51.825 [debug] Running yt-dlp command for action: get_downloadable_status 17:35:51.829 [debug] QUERY OK source="settings" db=2.3ms 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 [] 17:35:51.831 [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 [] 17:35:51.834 [debug] QUERY OK source="settings" db=2.3ms 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 [] 17:35:51.834 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=paYXaME_0Fc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5e/0d/5e0d51a55118f11dc614898b6d4b2473c8de96734ad55c014d05b8a9172ea8f8.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:36:00.397 [info] {"source":"oban","duration":283,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:36:11.974 [info] GET /sources/1/media/95/force_download 17:36:11.977 [debug] QUERY OK source="settings" db=2.4ms idle=698.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:36:11.980 [debug] QUERY OK source="settings" db=2.4ms idle=262.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:36:11.980 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:36:11.981 [error] #PID<0.3853.0> running PinchflatWeb.Endpoint (connection #PID<0.3852.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/95/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/95/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3852.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/95/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54272}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3853.0>, params: %{}, path_info: ["sources", "1", "media", "95", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/95/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ2wCqLt91HG2wAADhh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3852.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/95/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54272}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/95/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3852.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/95/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54272}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3853.0>, params: %{}, path_info: ["sources", "1", "media", "95", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 17:36:20.028 [info] {"source":"oban","duration":4737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:50.034 [info] {"source":"oban","duration":4702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:00.398 [info] {"source":"oban","duration":273,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:37:07.941 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=paYXaME_0Fc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5e/0d/5e0d51a55118f11dc614898b6d4b2473c8de96734ad55c014d05b8a9172ea8f8.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] paYXaME_0Fc: nsig extraction failed: Some formats may be missing n = wlw_maRSRSTZm93T ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] paYXaME_0Fc: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] paYXaME_0Fc: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:37:07.941 [debug] Running yt-dlp command for action: download 17:37:07.944 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=397.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:37:07.947 [debug] QUERY OK source="settings" db=2.4ms queue=0.4ms idle=229.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:37:07.950 [debug] QUERY OK source="settings" db=2.7ms idle=232.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:37:07.951 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=paYXaME_0Fc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e57 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e57 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/62/b1/62b1a3a292e97aeea0365e97911535eddb7880cef627464ba80541703d82aa30.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:37:17.193 [info] GET /sources/1/media/60/force_download 17:37:17.196 [debug] QUERY OK source="settings" db=2.4ms idle=1478.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:37:17.199 [debug] QUERY OK source="settings" db=2.3ms idle=1480.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:37:17.199 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:37:17.199 [error] #PID<0.3860.0> running PinchflatWeb.Endpoint (connection #PID<0.3859.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/60/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/60/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3859.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/60/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49458}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3860.0>, params: %{}, path_info: ["sources", "1", "media", "60", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/60/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ2z1ng77Ax5RgAADiB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3859.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/60/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49458}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/60/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3859.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/60/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49458}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3860.0>, params: %{}, path_info: ["sources", "1", "media", "60", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 17:37:20.040 [info] {"source":"oban","duration":4278,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:50.046 [info] {"source":"oban","duration":5696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:00.399 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:38:19.660 [info] GET /sources/1/media/94/force_download 17:38:19.664 [debug] QUERY OK source="settings" db=3.1ms idle=1945.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:38:19.667 [debug] QUERY OK source="settings" db=2.1ms idle=1949.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:38:19.667 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:38:19.668 [error] #PID<0.3869.0> running PinchflatWeb.Endpoint (connection #PID<0.3868.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/94/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/94/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3868.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/94/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51994}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3869.0>, params: %{}, path_info: ["sources", "1", "media", "94", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/94/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ23eU4zBYVR8UAAD5C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3868.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/94/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51994}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/94/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3868.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/94/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51994}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3869.0>, params: %{}, path_info: ["sources", "1", "media", "94", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 17:38:20.053 [info] {"source":"oban","duration":5548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:50.057 [info] {"source":"oban","duration":3815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:00.400 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:39:20.062 [info] {"source":"oban","duration":4169,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:22.677 [info] GET /sources/1/media/57/force_download 17:39:22.680 [debug] QUERY OK source="settings" db=2.5ms idle=962.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:39:22.683 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=965.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:39:22.683 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:39:22.684 [error] #PID<0.3875.0> running PinchflatWeb.Endpoint (connection #PID<0.3874.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/57/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/57/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3874.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/57/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51044}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3875.0>, params: %{}, path_info: ["sources", "1", "media", "57", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/57/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ27JFQb0VQluoAAD5i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3874.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/57/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51044}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/57/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3874.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/57/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51044}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3875.0>, params: %{}, path_info: ["sources", "1", "media", "57", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 17:39:50.067 [info] {"source":"oban","duration":3828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:00.401 [info] {"source":"oban","duration":283,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:40:10.120 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=paYXaME_0Fc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e57 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e57 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/62/b1/62b1a3a292e97aeea0365e97911535eddb7880cef627464ba80541703d82aa30.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] paYXaME_0Fc: nsig extraction failed: Some formats may be missing n = herz73H13YlG2eSu ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] paYXaME_0Fc: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] paYXaME_0Fc: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:40:10.205 [debug] Running yt-dlp command for action: download_thumbnail 17:40:10.208 [debug] QUERY OK source="settings" db=2.2ms idle=784.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:40:10.211 [debug] QUERY OK source="settings" db=2.1ms idle=493.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:40:10.213 [debug] QUERY OK source="settings" db=2.1ms idle=495.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:40:10.214 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=paYXaME_0Fc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/70/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/4c/76/4c764f201eb842126069c5f3e4ff3f70d552c38c8e6b95f2e6b9d7a877f71247.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:40:20.072 [info] {"source":"oban","duration":3629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:27.364 [info] GET /sources/1/media/96/force_download 17:40:27.367 [debug] QUERY OK source="settings" db=3.0ms idle=1648.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:40:27.370 [debug] QUERY OK source="settings" db=2.3ms idle=1652.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:40:27.370 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:40:27.371 [error] #PID<0.3885.0> running PinchflatWeb.Endpoint (connection #PID<0.3884.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/96/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/96/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3884.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/96/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58946}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3885.0>, params: %{}, path_info: ["sources", "1", "media", "96", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/96/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ2-6DxjU0wJs8AAD7C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3884.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/96/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58946}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/96/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3884.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/96/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58946}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3885.0>, params: %{}, path_info: ["sources", "1", "media", "96", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 17:40:50.076 [info] {"source":"oban","duration":3801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:00.402 [info] {"source":"oban","duration":300,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:41:20.081 [info] {"source":"oban","duration":3410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:28.713 [info] GET /sources/1/media/62/force_download 17:41:28.717 [debug] QUERY OK source="settings" db=3.0ms queue=0.1ms idle=995.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:41:28.720 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=998.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:41:28.720 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:41:28.720 [error] #PID<0.3891.0> running PinchflatWeb.Endpoint (connection #PID<0.3890.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/62/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/62/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3890.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/62/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58248}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3891.0>, params: %{}, path_info: ["sources", "1", "media", "62", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/62/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ3Cemj0wqEbXYAADmB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3890.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/62/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58248}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/62/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3890.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/62/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58248}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.3891.0>, params: %{}, path_info: ["sources", "1", "media", "62", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 17:41:35.549 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=paYXaME_0Fc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/70/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/4c/76/4c764f201eb842126069c5f3e4ff3f70d552c38c8e6b95f2e6b9d7a877f71247.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] paYXaME_0Fc: nsig extraction failed: Some formats may be missing n = iHCZdbbdryDhH4c ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] paYXaME_0Fc: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] paYXaME_0Fc: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:41:35.550 [debug] QUERY OK db=0.4ms queue=0.1ms idle=1831.1ms begin [] 17:41:35.586 [debug] QUERY OK source="media_items" db=35.5ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 21:40:10Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e57 - Minecraft_-_Shadow_of_Israphel_Part_18_-_Swampy_Away.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e57 - Minecraft_-_Shadow_of_Israphel_Part_18_-_Swampy_Away.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e57 - Minecraft_-_Shadow_of_Israphel_Part_18_-_Swampy_Away.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e57 - Minecraft_-_Shadow_of_Israphel_Part_18_-_Swampy_Away-thumb.jpg", ~U[2025-10-27 21:41:35Z], 70] 17:41:35.589 [debug] QUERY OK source="media_metadata" db=2.9ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/70/metadata.json.gz", "/config/metadata/media_items/70/thumbnail.jpg", 70, ~U[2025-10-27 21:41:35Z], ~U[2025-10-27 21:41:35Z]] 17:41:35.653 [debug] QUERY OK db=63.7ms commit [] 17:41:35.729 [debug] QUERY OK source="media_items" db=73.3ms idle=1937.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [167887098, ~U[2025-10-27 21:41:35Z], 70] 17:41:35.730 [info] User scripts lifecyle file either not present or is empty. Skipping. 17:41:35.778 [info] {"args":{"id":70},"id":62,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":343933627,"event":"job:stop","queue_time":10476721621,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 17:41:35.830 [info] {"args":{"id":71},"id":63,"meta":{},"system_time":1761601295830785760,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 17:41:35.834 [debug] QUERY OK source="media_items" db=3.0ms idle=112.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [71] 17:41:35.834 [info] User scripts lifecyle file either not present or is empty. Skipping. 17:41:35.837 [debug] QUERY OK source="sources" db=2.5ms queue=0.2ms idle=105.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:41:35.840 [debug] QUERY OK source="media_profiles" db=2.4ms idle=60.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:41:35.844 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=10.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [71] 17:41:35.848 [debug] QUERY OK source="media_metadata" db=2.1ms idle=11.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [71] 17:41:35.850 [debug] QUERY OK source="media_profiles" db=2.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] 17:41:35.854 [debug] QUERY OK source="settings" db=2.5ms idle=13.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:41:35.857 [debug] QUERY OK source="settings" db=2.7ms idle=13.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:41:35.859 [debug] Running yt-dlp command for action: get_downloadable_status 17:41:35.869 [debug] QUERY OK source="settings" db=2.5ms 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 [] 17:41:35.872 [debug] QUERY OK source="settings" db=2.4ms 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 [] 17:41:35.874 [debug] QUERY OK source="settings" db=2.3ms 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 [] 17:41:35.875 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=a1A-mRN6_Q0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/58/93/5893fbe7b6e580498fe429d5db7da49bdc8647a1a3cccfd2810f0bd8d5a11b96.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:41:50.086 [info] {"source":"oban","duration":4431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:00.403 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:42:20.092 [info] {"source":"oban","duration":5501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:30.990 [info] GET /sources/1/media/64/edit 17:42:30.990 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "64", "source_id" => "1"} Pipelines: [:browser] 17:42:30.994 [debug] QUERY OK source="media_items" db=3.3ms idle=1272.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" = ?) [64] 17:42:30.997 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=1275.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:42:31.000 [debug] QUERY OK source="settings" db=2.4ms idle=1279.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:42:31.003 [debug] QUERY OK source="settings" db=2.3ms idle=1282.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:42:31.005 [info] Sent 200 in 15ms 17:42:46.135 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=a1A-mRN6_Q0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/58/93/5893fbe7b6e580498fe429d5db7da49bdc8647a1a3cccfd2810f0bd8d5a11b96.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] a1A-mRN6_Q0: nsig extraction failed: Some formats may be missing n = xo1LJLJEQSXn5KM4 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] a1A-mRN6_Q0: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] a1A-mRN6_Q0: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:42:46.136 [debug] Running yt-dlp command for action: download 17:42:46.138 [debug] QUERY OK source="settings" db=2.5ms idle=1417.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:42:46.141 [debug] QUERY OK source="settings" db=2.4ms idle=1420.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:42:46.144 [debug] QUERY OK source="settings" db=2.1ms idle=1422.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:42:46.144 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=a1A-mRN6_Q0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e58 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e58 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/76/4e/764e0f99335d784c389cdf282633cc4bda2288101cc6606f18d0d78491ec4637.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:42:50.098 [info] {"source":"oban","duration":5630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:00.404 [info] {"source":"oban","duration":291,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:43:20.102 [info] {"source":"oban","duration":3061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:33.678 [info] GET /sources/1/media/91/force_download 17:43:33.681 [debug] QUERY OK source="settings" db=2.2ms idle=1960.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:43:33.683 [debug] QUERY OK source="settings" db=1.9ms idle=1962.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:43:33.683 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:43:33.684 [error] #PID<0.3907.0> running PinchflatWeb.Endpoint (connection #PID<0.3906.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/91/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/91/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3906.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/91/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 35846}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY3Z6bmthUVNZdTRxMkxSZnNyZ1o0dFJO.aXMi-IGa-JUiDuRrwSnIygfxzJgm_WCz7YT2pQpp9I8", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY3Z6bmthUVNZdTRxMkxSZnNyZ1o0dFJO.aXMi-IGa-JUiDuRrwSnIygfxzJgm_WCz7YT2pQpp9I8" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.3907.0>, params: %{}, path_info: ["sources", "1", "media", "91", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY3Z6bmthUVNZdTRxMkxSZnNyZ1o0dFJO.aXMi-IGa-JUiDuRrwSnIygfxzJgm_WCz7YT2pQpp9I8" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY3Z6bmthUVNZdTRxMkxSZnNyZ1o0dFJO.aXMi-IGa-JUiDuRrwSnIygfxzJgm_WCz7YT2pQpp9I8"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/91/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ3JwIjeF-AbqgAADqB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3906.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/91/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 35846}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY3Z6bmthUVNZdTRxMkxSZnNyZ1o0dFJO.aXMi-IGa-JUiDuRrwSnIygfxzJgm_WCz7YT2pQpp9I8", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/91/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3906.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/91/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 35846}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY3Z6bmthUVNZdTRxMkxSZnNyZ1o0dFJO.aXMi-IGa-JUiDuRrwSnIygfxzJgm_WCz7YT2pQpp9I8", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", (truncated) 17:43:50.107 [info] {"source":"oban","duration":3625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:00.405 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:44:20.112 [info] {"source":"oban","duration":5064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:29.737 [info] GET /sources/1/media/56/edit 17:44:29.737 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "56", "source_id" => "1"} Pipelines: [:browser] 17:44:29.741 [debug] QUERY OK source="media_items" db=2.9ms idle=45.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" = ?) [56] 17:44:29.744 [debug] QUERY OK source="settings" db=2.5ms idle=22.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:29.747 [debug] QUERY OK source="settings" db=2.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 [] 17:44:29.750 [debug] QUERY OK source="settings" db=2.5ms 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 [] 17:44:29.752 [info] Sent 200 in 15ms 17:44:50.117 [info] {"source":"oban","duration":3757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:00.406 [info] {"source":"oban","duration":425,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:45:20.122 [info] {"source":"oban","duration":3623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:32.267 [info] GET /sources/1/media/97/force_download 17:45:32.277 [debug] QUERY OK source="settings" db=9.4ms idle=545.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:32.284 [debug] QUERY OK source="settings" db=6.4ms idle=554.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:32.284 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:45:32.285 [error] #PID<0.3920.0> running PinchflatWeb.Endpoint (connection #PID<0.3919.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/97/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/97/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3919.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/97/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 39652}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY3Z6bmthUVNZdTRxMkxSZnNyZ1o0dFJO.aXMi-IGa-JUiDuRrwSnIygfxzJgm_WCz7YT2pQpp9I8", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY3Z6bmthUVNZdTRxMkxSZnNyZ1o0dFJO.aXMi-IGa-JUiDuRrwSnIygfxzJgm_WCz7YT2pQpp9I8" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.3920.0>, params: %{}, path_info: ["sources", "1", "media", "97", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY3Z6bmthUVNZdTRxMkxSZnNyZ1o0dFJO.aXMi-IGa-JUiDuRrwSnIygfxzJgm_WCz7YT2pQpp9I8" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY3Z6bmthUVNZdTRxMkxSZnNyZ1o0dFJO.aXMi-IGa-JUiDuRrwSnIygfxzJgm_WCz7YT2pQpp9I8"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/97/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ3Qp6WFDpKOcwAAD8i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3919.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/97/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 39652}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY3Z6bmthUVNZdTRxMkxSZnNyZ1o0dFJO.aXMi-IGa-JUiDuRrwSnIygfxzJgm_WCz7YT2pQpp9I8", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/97/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3919.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/97/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 39652}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYY3Z6bmthUVNZdTRxMkxSZnNyZ1o0dFJO.aXMi-IGa-JUiDuRrwSnIygfxzJgm_WCz7YT2pQpp9I8", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", (truncated) 17:45:43.370 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=a1A-mRN6_Q0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e58 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e58 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/76/4e/764e0f99335d784c389cdf282633cc4bda2288101cc6606f18d0d78491ec4637.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] a1A-mRN6_Q0: nsig extraction failed: Some formats may be missing n = wdLIwp2-5paXkzsu ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] a1A-mRN6_Q0: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] a1A-mRN6_Q0: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:45:43.482 [debug] Running yt-dlp command for action: download_thumbnail 17:45:43.487 [debug] QUERY OK source="settings" db=3.8ms idle=1760.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:43.491 [debug] QUERY OK source="settings" db=3.1ms queue=0.2ms idle=1764.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:43.494 [debug] QUERY OK source="settings" db=2.6ms idle=1768.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:43.496 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=a1A-mRN6_Q0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/71/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/31/f3/31f38538d718bbc6859566e7e4d65b5cca2a9da5fcf56c4ff20c534c727bf263.json --sleep-requests 13 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:45:50.126 [info] {"source":"oban","duration":3829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:00.407 [info] {"source":"oban","duration":297,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:46:20.131 [info] {"source":"oban","duration":4026,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:30.390 [info] GET /sources/1/media/60/edit 17:46:30.390 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "60", "source_id" => "1"} Pipelines: [:browser] 17:46:30.394 [debug] QUERY OK source="media_items" db=3.2ms idle=901.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" = ?) [60] 17:46:30.397 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=672.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:30.399 [debug] QUERY OK source="settings" db=2.2ms idle=674.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:30.402 [debug] QUERY OK source="settings" db=2.0ms idle=677.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:30.404 [info] Sent 200 in 13ms 17:46:50.136 [info] {"source":"oban","duration":3568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:00.408 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:47:09.338 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=a1A-mRN6_Q0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/71/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/31/f3/31f38538d718bbc6859566e7e4d65b5cca2a9da5fcf56c4ff20c534c727bf263.json --sleep-requests 13 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] a1A-mRN6_Q0: nsig extraction failed: Some formats may be missing n = 6La9dqcZLDb8kqDN ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] a1A-mRN6_Q0: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] a1A-mRN6_Q0: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:47:09.338 [debug] QUERY OK db=0.1ms idle=1615.7ms begin [] 17:47:09.359 [debug] QUERY OK source="media_items" db=20.4ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 21:45:43Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e58 - Minecraft_-_Shadow_of_Israphel_Part_19_-_The_Pirates_of_BBQ_Bay.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e58 - Minecraft_-_Shadow_of_Israphel_Part_19_-_The_Pirates_of_BBQ_Bay.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e58 - Minecraft_-_Shadow_of_Israphel_Part_19_-_The_Pirates_of_BBQ_Bay.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e58 - Minecraft_-_Shadow_of_Israphel_Part_19_-_The_Pirates_of_BBQ_Bay-thumb.jpg", ~U[2025-10-27 21:47:09Z], 71] 17:47:09.364 [debug] QUERY OK source="media_metadata" db=3.9ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/71/metadata.json.gz", "/config/metadata/media_items/71/thumbnail.jpg", 71, ~U[2025-10-27 21:47:09Z], ~U[2025-10-27 21:47:09Z]] 17:47:09.457 [debug] QUERY OK db=93.3ms commit [] 17:47:09.534 [debug] QUERY OK source="media_items" db=74.2ms idle=1736.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [225399171, ~U[2025-10-27 21:47:09Z], 71] 17:47:09.535 [info] User scripts lifecyle file either not present or is empty. Skipping. 17:47:09.630 [info] {"args":{"id":71},"id":63,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":333705084,"event":"job:stop","queue_time":10820783706,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 17:47:09.709 [info] {"args":{"id":72},"id":64,"meta":{},"system_time":1761601629709222209,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 17:47:09.711 [debug] QUERY OK source="media_items" db=1.7ms idle=252.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" = ?) [72] 17:47:09.711 [info] User scripts lifecyle file either not present or is empty. Skipping. 17:47:09.715 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=178.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:47:09.718 [debug] QUERY OK source="media_profiles" db=3.1ms idle=85.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:47:09.723 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=10.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [72] 17:47:09.727 [debug] QUERY OK source="media_metadata" db=2.6ms idle=13.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [72] 17:47:09.729 [debug] QUERY OK source="media_profiles" db=2.4ms idle=14.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:47:09.733 [debug] QUERY OK source="settings" db=2.5ms idle=15.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:47:09.735 [debug] QUERY OK source="settings" db=2.4ms 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 [] 17:47:09.738 [debug] Running yt-dlp command for action: get_downloadable_status 17:47:09.741 [debug] QUERY OK source="settings" db=2.5ms 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 [] 17:47:09.744 [debug] QUERY OK source="settings" db=2.6ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:47:09.747 [debug] QUERY OK source="settings" db=2.8ms 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 [] 17:47:09.748 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Y7Qk2evomg8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/73/a9/73a9d30e34a94f0d308963a45231bab6c0f11ba0b95c553ea10cb5894f295f5c.json --sleep-requests 13 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:47:20.141 [info] {"source":"oban","duration":4795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:34.492 [info] GET /sources/1/media/65/edit 17:47:34.492 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "65", "source_id" => "1"} Pipelines: [:browser] 17:47:34.495 [debug] QUERY OK source="media_items" db=2.6ms idle=769.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" = ?) [65] 17:47:34.497 [debug] QUERY OK source="settings" db=1.8ms idle=773.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:34.500 [debug] QUERY OK source="settings" db=2.0ms idle=775.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:34.503 [debug] QUERY OK source="settings" db=2.1ms idle=777.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:34.504 [info] Sent 200 in 12ms 17:47:50.146 [info] {"source":"oban","duration":3470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:00.409 [info] {"source":"oban","duration":279,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:48:20.150 [info] {"source":"oban","duration":4207,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:31.640 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Y7Qk2evomg8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/73/a9/73a9d30e34a94f0d308963a45231bab6c0f11ba0b95c553ea10cb5894f295f5c.json --sleep-requests 13 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] Y7Qk2evomg8: nsig extraction failed: Some formats may be missing n = Gpu51NWkLMycSSnB ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] Y7Qk2evomg8: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] Y7Qk2evomg8: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:48:31.640 [debug] Running yt-dlp command for action: download 17:48:31.643 [debug] QUERY OK source="settings" db=2.8ms idle=1917.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:31.646 [debug] QUERY OK source="settings" db=2.6ms idle=1920.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:31.649 [debug] QUERY OK source="settings" db=2.3ms idle=1923.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:31.649 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Y7Qk2evomg8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e59 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e59 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/97/cc/97cc66023b84f031a40aa928d237daeec0fc63e90e96f8d10e12923e409b474d.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:48:32.871 [info] GET /sources/1/media/57/edit 17:48:32.871 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "57", "source_id" => "1"} Pipelines: [:browser] 17:48:32.876 [debug] QUERY OK source="media_items" db=4.0ms queue=0.1ms idle=1149.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" = ?) [57] 17:48:32.879 [debug] QUERY OK source="settings" db=2.2ms idle=768.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:32.881 [debug] QUERY OK source="settings" db=2.4ms idle=156.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:32.885 [debug] QUERY OK source="settings" db=2.5ms idle=159.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:32.887 [info] Sent 200 in 16ms 17:48:50.155 [info] {"source":"oban","duration":3822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:00.410 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:49:20.162 [info] {"source":"oban","duration":5452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:22.216 [info] GET /sources/1/media/94/edit 17:49:22.216 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "94", "source_id" => "1"} Pipelines: [:browser] 17:49:22.230 [debug] QUERY OK source="media_items" db=13.6ms queue=0.1ms idle=1493.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" = ?) [94] 17:49:22.233 [debug] QUERY OK source="settings" db=2.1ms idle=885.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:22.236 [debug] QUERY OK source="settings" db=2.3ms idle=510.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:22.239 [debug] QUERY OK source="settings" db=2.5ms idle=514.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:22.241 [info] Sent 200 in 25ms 17:49:50.165 [info] {"source":"oban","duration":3242,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:00.411 [info] {"source":"oban","duration":344,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:50:07.660 [info] GET /sources/1/media/66/edit 17:50:07.660 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "66", "source_id" => "1"} Pipelines: [:browser] 17:50:07.664 [debug] QUERY OK source="media_items" db=3.1ms idle=1938.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" = ?) [66] 17:50:07.667 [debug] QUERY OK source="settings" db=2.3ms idle=1942.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:07.669 [debug] QUERY OK source="settings" db=2.1ms idle=1944.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:07.672 [debug] QUERY OK source="settings" db=2.1ms idle=1113.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:07.674 [info] Sent 200 in 13ms 17:50:20.169 [info] {"source":"oban","duration":3191,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:49.043 [info] GET /sources/1/media/95/edit 17:50:49.043 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "95", "source_id" => "1"} Pipelines: [:browser] 17:50:49.047 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=1320.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" = ?) [95] 17:50:49.050 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=1323.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:49.053 [debug] QUERY OK source="settings" db=2.5ms idle=856.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:49.056 [debug] QUERY OK source="settings" db=2.3ms idle=329.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:49.057 [info] Sent 200 in 13ms 17:50:50.174 [info] {"source":"oban","duration":3470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:00.412 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:51:20.179 [info] {"source":"oban","duration":4644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:27.567 [info] GET /sources/1/media/61/edit 17:51:27.567 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "61", "source_id" => "1"} Pipelines: [:browser] 17:51:27.605 [debug] QUERY OK source="media_items" db=35.7ms queue=0.9ms idle=1843.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" = ?) [61] 17:51:27.631 [debug] QUERY OK source="settings" db=24.7ms queue=0.1ms idle=1881.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:27.636 [debug] QUERY OK source="settings" db=4.4ms queue=0.1ms idle=1132.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:27.640 [debug] QUERY OK source="settings" db=3.3ms idle=912.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:27.644 [info] Sent 200 in 76ms 17:51:31.476 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Y7Qk2evomg8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e59 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e59 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/97/cc/97cc66023b84f031a40aa928d237daeec0fc63e90e96f8d10e12923e409b474d.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] Y7Qk2evomg8: nsig extraction failed: Some formats may be missing n = lseCMxRemoStYon ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] Y7Qk2evomg8: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] Y7Qk2evomg8: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:51:31.544 [debug] Running yt-dlp command for action: download_thumbnail 17:51:31.547 [debug] QUERY OK source="settings" db=2.3ms idle=821.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:31.550 [debug] QUERY OK source="settings" db=2.5ms idle=823.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:31.553 [debug] QUERY OK source="settings" db=2.4ms idle=826.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:31.553 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Y7Qk2evomg8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/72/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/d0/49/d0497b4c6c719db94396408e9313a3d1ebd07dfbe4c4929aa7deb0af17b1033b.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:51:50.183 [info] {"source":"oban","duration":3682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:59.477 [info] GET /sources/1/media/58/edit 17:51:59.477 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "58", "source_id" => "1"} Pipelines: [:browser] 17:51:59.481 [debug] QUERY OK source="media_items" db=3.0ms idle=1754.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" = ?) [58] 17:51:59.483 [debug] QUERY OK source="settings" db=2.2ms idle=1757.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59.486 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=829.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59.489 [debug] QUERY OK source="settings" db=2.2ms idle=763.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59.490 [info] Sent 200 in 13ms 17:52:00.413 [info] {"source":"oban","duration":296,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:52:20.188 [info] {"source":"oban","duration":3948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:29.214 [info] GET /sources/1/media/97/edit 17:52:29.214 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "97", "source_id" => "1"} Pipelines: [:browser] 17:52:29.217 [debug] QUERY OK source="media_items" db=3.0ms idle=1489.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" = ?) [97] 17:52:29.220 [debug] QUERY OK source="settings" db=2.4ms idle=1425.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:29.223 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms 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 [] 17:52:29.226 [debug] QUERY OK source="settings" db=2.2ms idle=499.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:29.228 [info] Sent 200 in 14ms 17:52:45.541 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Y7Qk2evomg8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/72/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/d0/49/d0497b4c6c719db94396408e9313a3d1ebd07dfbe4c4929aa7deb0af17b1033b.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] Y7Qk2evomg8: nsig extraction failed: Some formats may be missing n = ABMaGSODvxoqKDUv ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] Y7Qk2evomg8: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] Y7Qk2evomg8: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:52:45.542 [debug] QUERY OK db=0.0ms queue=0.1ms idle=817.2ms begin [] 17:52:45.586 [debug] QUERY OK source="media_items" db=44.0ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 21:51:31Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e59 - Minecraft_-_The_Legend_of_Verigan_Part_1_Shadow_of_Israphel_Special.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e59 - Minecraft_-_The_Legend_of_Verigan_Part_1_Shadow_of_Israphel_Special.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e59 - Minecraft_-_The_Legend_of_Verigan_Part_1_Shadow_of_Israphel_Special.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e59 - Minecraft_-_The_Legend_of_Verigan_Part_1_Shadow_of_Israphel_Special-thumb.jpg", ~U[2025-10-27 21:52:45Z], 72] 17:52:45.591 [debug] QUERY OK source="media_metadata" db=4.3ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/72/metadata.json.gz", "/config/metadata/media_items/72/thumbnail.jpg", 72, ~U[2025-10-27 21:52:45Z], ~U[2025-10-27 21:52:45Z]] 17:52:45.658 [debug] QUERY OK db=66.5ms commit [] 17:52:45.733 [debug] QUERY OK source="media_items" db=72.9ms idle=935.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [224687020, ~U[2025-10-27 21:52:45Z], 72] 17:52:45.735 [info] User scripts lifecyle file either not present or is empty. Skipping. 17:52:45.784 [info] {"args":{"id":72},"id":64,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":336026010,"event":"job:stop","queue_time":11154636672,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 17:52:45.841 [info] {"args":{"id":73},"id":65,"meta":{},"system_time":1761601965841020581,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 17:52:45.844 [debug] QUERY OK source="media_items" db=3.2ms idle=965.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" = ?) [73] 17:52:45.845 [info] User scripts lifecyle file either not present or is empty. Skipping. 17:52:45.848 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=187.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:52:45.851 [debug] QUERY OK source="media_profiles" db=2.6ms idle=115.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:52:45.855 [debug] QUERY OK source="media_items" db=4.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 [73] 17:52:45.860 [debug] QUERY OK source="media_metadata" db=2.6ms idle=16.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [73] 17:52:45.863 [debug] QUERY OK source="media_profiles" db=2.2ms idle=15.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:52:45.866 [debug] QUERY OK source="settings" db=2.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 [] 17:52:45.868 [debug] QUERY OK source="settings" db=2.3ms queue=0.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 [] 17:52:45.870 [debug] Running yt-dlp command for action: get_downloadable_status 17:52:45.874 [debug] QUERY OK source="settings" db=2.2ms 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 [] 17:52:45.876 [debug] QUERY OK source="settings" db=2.3ms idle=13.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:52:45.878 [debug] QUERY OK source="settings" db=1.7ms idle=10.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:52:45.879 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XE-jGHc8UOI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cf/fc/cffc4a5d8141abe7f63d442927e8d83106042ca43f606e64b6b881deda9b3c56.json --sleep-requests 11 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:52:50.193 [info] {"source":"oban","duration":3853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:55.703 [info] GET /sources/1/media/92/edit 17:52:55.703 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "92", "source_id" => "1"} Pipelines: [:browser] 17:52:55.707 [debug] QUERY OK source="media_items" db=2.7ms queue=0.2ms idle=1979.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" = ?) [92] 17:52:55.710 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=1982.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55.712 [debug] QUERY OK source="settings" db=2.5ms idle=1985.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55.715 [debug] QUERY OK source="settings" db=2.1ms idle=1791.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55.717 [info] Sent 200 in 14ms 17:53:00.414 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:53:19.545 [info] GET /sources/1/media/99/edit 17:53:19.545 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "99", "source_id" => "1"} Pipelines: [:browser] 17:53:19.548 [debug] QUERY OK source="media_items" db=2.9ms idle=1820.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" = ?) [99] 17:53:19.551 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=1513.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19.554 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=827.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19.557 [debug] QUERY OK source="settings" db=2.4ms idle=830.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19.559 [info] Sent 200 in 13ms 17:53:20.200 [info] {"source":"oban","duration":5397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:41.899 [info] GET /sources/1/media/63/edit 17:53:41.899 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "63", "source_id" => "1"} Pipelines: [:browser] 17:53:41.908 [debug] QUERY OK source="media_items" db=7.5ms queue=0.2ms idle=1175.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" = ?) [63] 17:53:41.912 [debug] QUERY OK source="settings" db=3.6ms queue=0.1ms idle=1183.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:41.916 [debug] QUERY OK source="settings" db=3.4ms queue=0.1ms idle=1187.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:41.922 [debug] QUERY OK source="settings" db=4.9ms queue=0.1ms idle=769.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:41.924 [info] Sent 200 in 25ms 17:53:50.205 [info] {"source":"oban","duration":4856,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:56.049 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XE-jGHc8UOI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cf/fc/cffc4a5d8141abe7f63d442927e8d83106042ca43f606e64b6b881deda9b3c56.json --sleep-requests 11 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] XE-jGHc8UOI: nsig extraction failed: Some formats may be missing n = 3o3k7Lsa7dGBisUa ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] XE-jGHc8UOI: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] XE-jGHc8UOI: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:53:56.050 [debug] Running yt-dlp command for action: download 17:53:56.052 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=805.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56.054 [debug] QUERY OK source="settings" db=1.9ms idle=328.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56.057 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=330.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56.058 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XE-jGHc8UOI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e60 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e60 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/dc/56/dc567a90c7485e030a754866aa27c98229d1bd35e551df4cd82ffbcc6c6253a3.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:54:00.415 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:54:01.075 [info] GET /sources/1/media/96/edit 17:54:01.075 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "96", "source_id" => "1"} Pipelines: [:browser] 17:54:01.079 [debug] QUERY OK source="media_items" db=3.3ms queue=0.1ms idle=1351.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" = ?) [96] 17:54:01.082 [debug] QUERY OK source="settings" db=2.1ms idle=1355.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:01.084 [debug] QUERY OK source="settings" db=1.9ms idle=1357.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:01.087 [debug] QUERY OK source="settings" db=2.2ms idle=817.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:01.088 [info] Sent 200 in 13ms 17:54:18.271 [info] GET /sources/1/media/91/edit 17:54:18.271 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "91", "source_id" => "1"} Pipelines: [:browser] 17:54:18.275 [debug] QUERY OK source="media_items" db=3.2ms idle=1546.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" = ?) [91] 17:54:18.277 [debug] QUERY OK source="settings" db=2.0ms idle=1550.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18.280 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=1553.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18.283 [debug] QUERY OK source="settings" db=2.3ms idle=1556.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18.285 [info] Sent 200 in 14ms 17:54:20.210 [info] {"source":"oban","duration":3950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:34.877 [info] GET /sources/1/media/62/edit 17:54:34.877 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "62", "source_id" => "1"} Pipelines: [:browser] 17:54:34.881 [debug] QUERY OK source="media_items" db=3.5ms queue=0.2ms idle=1153.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" = ?) [62] 17:54:34.884 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=1157.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:34.887 [debug] QUERY OK source="settings" db=2.4ms idle=1160.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:34.890 [debug] QUERY OK source="settings" db=2.2ms idle=1163.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:34.892 [info] Sent 200 in 14ms 17:54:49.972 [info] GET /sources/1/media/59/edit 17:54:49.972 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "59", "source_id" => "1"} Pipelines: [:browser] 17:54:49.976 [debug] QUERY OK source="media_items" db=3.0ms idle=1248.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" = ?) [59] 17:54:49.978 [debug] QUERY OK source="settings" db=2.0ms idle=1251.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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.981 [debug] QUERY OK source="settings" db=2.1ms idle=1254.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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.984 [debug] QUERY OK source="settings" db=2.1ms idle=1256.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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.986 [info] Sent 200 in 13ms 17:54:50.218 [info] {"source":"oban","duration":7248,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:00.416 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:55:03.331 [info] GET /sources/1/media/98/edit 17:55:03.332 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "98", "source_id" => "1"} Pipelines: [:browser] 17:55:03.335 [debug] QUERY OK source="media_items" db=3.0ms idle=1607.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" = ?) [98] 17:55:03.338 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms idle=1611.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:03.340 [debug] QUERY OK source="settings" db=2.1ms idle=1613.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:03.343 [debug] QUERY OK source="settings" db=2.4ms idle=1616.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:03.345 [info] Sent 200 in 13ms 17:55:15.099 [info] GET /media/856f4c86-6430-4c9c-942e-99cc1444379b/stream 17:55:15.099 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "856f4c86-6430-4c9c-942e-99cc1444379b", "v" => "1761598747"} Pipelines: [:maybe_basic_auth] 17:55:15.102 [debug] QUERY OK source="media_items" db=3.0ms idle=480.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["856f4c86-6430-4c9c-942e-99cc1444379b"] 17:55:15.103 [debug] Invalid range request for media item: 856f4c86-6430-4c9c-942e-99cc1444379b - serving full file 17:55:15.103 [info] Sent 200 in 4ms 17:55:20.223 [info] {"source":"oban","duration":3919,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:25.916 [info] GET /sources/f8008779-4688-4437-998b-789e1375e11d/feed.xml 17:55:25.916 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "f8008779-4688-4437-998b-789e1375e11d"} Pipelines: [:maybe_basic_auth] 17:55:25.920 [debug] QUERY OK source="sources" db=3.2ms queue=0.5ms idle=1189.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."uuid" = ?) ["f8008779-4688-4437-998b-789e1375e11d"] 17:55:25.925 [debug] QUERY OK source="media_items" db=4.3ms queue=0.3ms idle=1194.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 NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? [2, 2000] 17:55:25.929 [debug] QUERY OK source="source_metadata" db=2.8ms queue=0.1ms idle=1199.3ms 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" = ?) [2] 17:55:25.931 [info] Sent 200 in 15ms 17:55:35.787 [info] GET /media/5a8a53b6-3226-4623-80c4-57597972220a/stream 17:55:35.788 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "5a8a53b6-3226-4623-80c4-57597972220a", "v" => "1761599415"} Pipelines: [:maybe_basic_auth] 17:55:35.791 [debug] QUERY OK source="media_items" db=3.5ms idle=70.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["5a8a53b6-3226-4623-80c4-57597972220a"] 17:55:35.792 [debug] Invalid range request for media item: 5a8a53b6-3226-4623-80c4-57597972220a - serving full file 17:55:35.793 [info] Sent 200 in 5ms 17:55:44.129 [info] GET /sources/88c059eb-0ad2-4be2-9412-6aab2c49a275/feed.xml 17:55:44.129 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "88c059eb-0ad2-4be2-9412-6aab2c49a275"} Pipelines: [:maybe_basic_auth] 17:55:44.132 [debug] QUERY OK source="sources" db=2.8ms idle=402.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."uuid" = ?) ["88c059eb-0ad2-4be2-9412-6aab2c49a275"] 17:55:44.146 [debug] QUERY OK source="media_items" db=13.0ms idle=406.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 NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? [1, 2000] 17:55:44.192 [debug] QUERY OK source="source_metadata" db=2.5ms idle=462.6ms 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] 17:55:44.195 [debug] QUERY OK source="media_metadata" db=3.2ms queue=0.1ms idle=465.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [72] 17:55:44.197 [info] Sent 200 in 67ms 17:55:50.228 [info] {"source":"oban","duration":3914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:51.787 [info] GET /media_profiles/new 17:55:51.787 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{"template_id" => "2"} Pipelines: [:browser] 17:55:51.791 [debug] QUERY OK source="media_profiles" db=3.5ms idle=1.0e3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:55:51.792 [debug] QUERY OK source="settings" db=0.3ms idle=65.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51.795 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=66.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51.798 [debug] QUERY OK source="settings" db=2.0ms 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 [] 17:55:51.801 [debug] QUERY OK source="settings" db=2.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:55:51.804 [debug] QUERY OK source="settings" db=2.0ms 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 [] 17:55:51.805 [info] Sent 200 in 18ms 17:55:58.426 [info] GET /media_profiles/new 17:55:58.426 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{"template_id" => "1"} Pipelines: [:browser] 17:55:58.431 [debug] QUERY OK source="media_profiles" db=4.1ms queue=0.1ms idle=700.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:55:58.434 [debug] QUERY OK source="settings" db=2.4ms idle=704.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:58.436 [debug] QUERY OK source="settings" db=2.1ms idle=707.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:58.439 [debug] QUERY OK source="settings" db=2.6ms idle=710.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:55:58.442 [debug] QUERY OK source="settings" db=2.4ms idle=620.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:58.446 [debug] QUERY OK source="settings" db=2.4ms idle=12.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:55:58.448 [info] Sent 200 in 21ms 17:56:00.418 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:56:04.702 [info] GET /sources/2 17:56:04.702 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "2"} Pipelines: [:browser] 17:56:04.706 [debug] QUERY OK source="sources" db=2.4ms queue=0.2ms idle=976.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:56:04.708 [debug] QUERY OK source="media_profiles" db=2.4ms idle=979.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:56:04.712 [debug] QUERY OK source="tasks" db=3.5ms idle=982.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 (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 17:56:04.715 [debug] QUERY OK source="oban_jobs" db=2.4ms idle=986.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" = ?) [125] 17:56:04.718 [debug] QUERY OK source="settings" db=2.0ms idle=868.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04.720 [debug] QUERY OK source="settings" db=2.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 [] 17:56:04.723 [debug] QUERY OK source="settings" db=1.9ms 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 [] 17:56:04.726 [debug] QUERY OK source="sources" db=1.9ms idle=11.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:56:04.729 [debug] QUERY OK source="media_items" db=2.2ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 17:56:04.736 [debug] QUERY OK source="media_items" db=6.1ms idle=11.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 ? [2, 10, 0] 17:56:04.740 [debug] QUERY OK source="sources" db=2.4ms 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" = ?) [2] 17:56:04.743 [debug] QUERY OK source="media_items" db=2.3ms idle=17.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 17:56:04.746 [debug] QUERY OK source="media_items" db=2.5ms idle=16.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 ? [2, 10, 0] 17:56:04.748 [debug] QUERY OK source="sources" db=2.1ms idle=17.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:56:04.751 [debug] QUERY OK source="media_items" db=2.2ms idle=13.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [2] 17:56:04.757 [debug] QUERY OK source="media_items" db=5.0ms 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 ? [2, 10, 0] 17:56:04.758 [info] Sent 200 in 55ms 17:56:19.673 [info] GET /sources/1/media/93/edit 17:56:19.673 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "93", "source_id" => "1"} Pipelines: [:browser] 17:56:19.676 [debug] QUERY OK source="media_items" db=2.8ms idle=947.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" = ?) [93] 17:56:19.680 [debug] QUERY OK source="settings" db=3.1ms idle=950.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19.683 [debug] QUERY OK source="settings" db=2.5ms idle=953.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19.686 [debug] QUERY OK source="settings" db=2.0ms idle=957.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19.687 [info] Sent 200 in 14ms 17:56:20.234 [info] {"source":"oban","duration":4949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:23.725 [info] GET /sources/1 17:56:23.725 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "1"} Pipelines: [:browser] 17:56:23.728 [debug] QUERY OK source="sources" db=2.6ms idle=1398.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:56:23.731 [debug] QUERY OK source="media_profiles" db=2.4ms queue=0.1ms idle=1001.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:56:23.736 [debug] QUERY OK source="tasks" db=4.4ms queue=0.1ms idle=1004.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:56:23.739 [debug] QUERY OK source="oban_jobs" db=3.1ms queue=0.1ms idle=1009.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" = ?) [119] 17:56:23.742 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=408.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:23.745 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms 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 [] 17:56:23.748 [debug] QUERY OK source="settings" db=2.2ms idle=14.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:56:23.753 [debug] QUERY OK source="sources" db=2.3ms idle=14.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:56:23.765 [debug] QUERY OK source="media_items" db=11.4ms idle=13.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] 17:56:23.768 [debug] QUERY OK source="media_items" db=3.2ms idle=22.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] 17:56:23.772 [debug] QUERY OK source="sources" db=2.3ms idle=24.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:56:23.776 [debug] QUERY OK source="media_items" db=3.0ms idle=24.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 17:56:23.785 [debug] QUERY OK source="media_items" db=9.4ms idle=23.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] 17:56:23.789 [debug] QUERY OK source="sources" db=2.6ms idle=21.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:56:23.793 [debug] QUERY OK source="media_items" db=2.8ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:56:23.803 [debug] QUERY OK source="media_items" db=9.6ms idle=20.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] 17:56:23.805 [info] Sent 200 in 80ms 17:56:27.288 [info] GET /sources/2/media/189 17:56:27.288 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "189", "source_id" => "2"} Pipelines: [:browser] 17:56:27.292 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=1562.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" = ?) [189] 17:56:27.295 [debug] QUERY OK source="sources" db=2.7ms idle=1565.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:56:27.297 [debug] QUERY OK source="tasks" db=4.5ms idle=1565.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" [189] 17:56:27.300 [debug] QUERY OK source="oban_jobs" db=2.4ms idle=1570.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [122] 17:56:27.302 [debug] QUERY OK source="settings" db=2.2ms idle=955.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:27.305 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=10.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:56:27.308 [debug] QUERY OK source="settings" db=2.3ms 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:56:27.311 [debug] QUERY OK source="media_profiles" db=2.4ms idle=11.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:56:27.314 [info] Sent 200 in 25ms 17:56:30.505 [info] GET /sources/new 17:56:30.505 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "2"} Pipelines: [:browser] 17:56:30.508 [debug] QUERY OK source="sources" db=2.6ms idle=1779.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:56:30.511 [debug] QUERY OK source="media_profiles" db=2.6ms idle=1782.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:56:30.514 [debug] QUERY OK source="settings" db=2.3ms idle=1785.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:30.517 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=1155.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:30.520 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=153.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:30.523 [debug] QUERY OK source="settings" db=2.3ms 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 [] 17:56:30.526 [debug] QUERY OK source="settings" db=2.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 [] 17:56:30.529 [info] Sent 200 in 24ms 17:56:33.557 [info] GET /media/ed6b7932-6d19-4339-b870-99103f30ab73/stream 17:56:33.557 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "ed6b7932-6d19-4339-b870-99103f30ab73", "v" => "1761598380"} Pipelines: [:maybe_basic_auth] 17:56:33.560 [debug] QUERY OK source="media_items" db=3.3ms idle=1830.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["ed6b7932-6d19-4339-b870-99103f30ab73"] 17:56:33.561 [debug] Invalid range request for media item: ed6b7932-6d19-4339-b870-99103f30ab73 - serving full file 17:56:33.561 [info] Sent 200 in 4ms 17:56:36.119 [info] GET /media/44b0cc4a-172d-4c32-8e04-1c62a449d875/stream 17:56:36.120 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "44b0cc4a-172d-4c32-8e04-1c62a449d875", "v" => "1761596748"} Pipelines: [:maybe_basic_auth] 17:56:36.122 [debug] QUERY OK source="media_items" db=2.5ms idle=1393.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["44b0cc4a-172d-4c32-8e04-1c62a449d875"] 17:56:36.123 [debug] Invalid range request for media item: 44b0cc4a-172d-4c32-8e04-1c62a449d875 - serving full file 17:56:36.123 [info] Sent 200 in 3ms 17:56:38.742 [info] GET /sources/1/media/72 17:56:38.742 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "72", "source_id" => "1"} Pipelines: [:browser] 17:56:38.765 [debug] QUERY OK source="media_items" db=22.2ms idle=1014.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" = ?) [72] 17:56:38.833 [debug] QUERY OK source="tasks" db=66.8ms queue=0.1ms idle=1037.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" [72] 17:56:38.833 [debug] QUERY OK source="sources" db=67.4ms queue=0.1ms idle=1037.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:56:38.837 [debug] QUERY OK source="oban_jobs" db=3.0ms idle=1105.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [64] 17:56:38.841 [debug] QUERY OK source="settings" db=3.1ms queue=0.1ms idle=431.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:38.843 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=75.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:38.847 [debug] QUERY OK source="settings" db=2.4ms 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 [] 17:56:38.850 [debug] QUERY OK source="media_profiles" db=2.3ms idle=14.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:56:38.852 [info] Sent 200 in 110ms 17:56:41.440 [info] GET /sources/1/media/69 17:56:41.441 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "69", "source_id" => "1"} Pipelines: [:browser] 17:56:41.443 [debug] QUERY OK source="media_items" db=1.9ms idle=712.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" = ?) [69] 17:56:41.446 [debug] QUERY OK source="tasks" db=2.1ms queue=0.3ms idle=715.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" [69] 17:56:41.446 [debug] QUERY OK source="sources" db=2.5ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:56:41.454 [debug] QUERY OK source="oban_jobs" db=6.7ms idle=718.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" = ?) [61] 17:56:41.459 [debug] QUERY OK source="settings" db=4.5ms 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 [] 17:56:41.463 [debug] QUERY OK source="settings" db=3.3ms queue=0.3ms 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 [] 17:56:41.467 [debug] QUERY OK source="settings" db=3.0ms queue=0.1ms 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 [] 17:56:41.472 [debug] QUERY OK source="media_profiles" db=3.5ms 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] 17:56:41.475 [info] Sent 200 in 34ms 17:56:43.925 [info] GET /sources/1/media/94 17:56:43.926 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "94", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 17:56:43.930 [debug] QUERY OK source="media_items" db=3.9ms idle=1197.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [94] 17:56:43.933 [debug] QUERY OK source="sources" db=2.3ms idle=1202.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:56:43.935 [debug] QUERY OK source="tasks" db=3.9ms queue=0.1ms idle=1202.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" [94] 17:56:43.939 [debug] QUERY OK source="oban_jobs" db=3.6ms idle=1206.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" = ?) [86] 17:56:43.943 [debug] QUERY OK source="settings" db=2.7ms idle=479.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:43.945 [debug] QUERY OK source="settings" db=1.9ms queue=0.2ms 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 [] 17:56:43.949 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=12.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:56:43.954 [debug] QUERY OK source="media_profiles" db=3.9ms idle=15.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:56:43.958 [info] Sent 200 in 32ms 17:56:46.161 [info] GET /sources/1/media/70 17:56:46.161 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "70", "source_id" => "1"} Pipelines: [:browser] 17:56:46.166 [debug] QUERY OK source="media_items" db=3.8ms idle=571.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" = ?) [70] 17:56:46.170 [debug] QUERY OK source="sources" db=2.9ms idle=438.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:56:46.171 [debug] QUERY OK source="tasks" db=4.8ms idle=438.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" [70] 17:56:46.176 [debug] QUERY OK source="oban_jobs" db=3.6ms idle=443.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" = ?) [62] 17:56:46.180 [debug] QUERY OK source="settings" db=3.5ms idle=447.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:46.184 [debug] QUERY OK source="settings" db=4.0ms queue=0.1ms 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 [] 17:56:46.188 [debug] QUERY OK source="settings" db=2.8ms idle=15.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:56:46.193 [debug] QUERY OK source="media_profiles" db=4.2ms 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] 17:56:46.197 [info] Sent 200 in 35ms 17:56:47.792 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XE-jGHc8UOI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e60 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e60 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/dc/56/dc567a90c7485e030a754866aa27c98229d1bd35e551df4cd82ffbcc6c6253a3.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] XE-jGHc8UOI: nsig extraction failed: Some formats may be missing n = 0T4wa72jKrPMFrSb ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] XE-jGHc8UOI: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] XE-jGHc8UOI: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:56:47.872 [debug] Running yt-dlp command for action: download_thumbnail 17:56:47.876 [debug] QUERY OK source="settings" db=2.5ms idle=272.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:47.878 [debug] QUERY OK source="settings" db=2.1ms idle=147.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:56:47.881 [debug] QUERY OK source="settings" db=2.4ms idle=149.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:47.881 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XE-jGHc8UOI --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/73/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/74/50/74504ba03b60d869efe785e295213ed4cace62c7b8752efde358d5bcde8a85bc.json --sleep-requests 11 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:56:48.168 [info] GET /sources/1/media/67 17:56:48.168 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "67", "source_id" => "1"} Pipelines: [:browser] 17:56:48.171 [debug] QUERY OK source="media_items" db=2.7ms idle=439.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" = ?) [67] 17:56:48.174 [debug] QUERY OK source="sources" db=2.2ms idle=296.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:56:48.175 [debug] QUERY OK source="tasks" db=3.1ms idle=443.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" [67] 17:56:48.178 [debug] QUERY OK source="oban_jobs" db=2.5ms idle=297.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [59] 17:56:48.180 [debug] QUERY OK source="settings" db=2.1ms idle=297.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:48.183 [debug] QUERY OK source="settings" db=2.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 [] 17:56:48.186 [debug] QUERY OK source="settings" db=2.2ms 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 [] 17:56:48.189 [debug] QUERY OK source="media_profiles" db=2.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] 17:56:48.192 [info] Sent 200 in 24ms 17:56:49.918 [info] GET /sources/1/media/68 17:56:49.918 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "68", "source_id" => "1"} Pipelines: [:browser] 17:56:49.927 [debug] QUERY OK source="media_items" db=7.8ms idle=298.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" = ?) [68] 17:56:49.931 [debug] QUERY OK source="sources" db=3.8ms idle=199.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:56:49.932 [debug] QUERY OK source="tasks" db=4.5ms queue=0.1ms idle=199.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" [68] 17:56:49.936 [debug] QUERY OK source="oban_jobs" db=3.0ms idle=204.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" = ?) [60] 17:56:49.939 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms idle=207.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:49.941 [debug] QUERY OK source="settings" db=2.2ms 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 [] 17:56:49.944 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms 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:56:49.947 [debug] QUERY OK source="media_profiles" db=1.8ms idle=12.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:56:49.950 [info] Sent 200 in 32ms 17:56:50.239 [info] {"source":"oban","duration":3592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:51.467 [info] GET /sources/1/media/71 17:56:51.467 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "71", "source_id" => "1"} Pipelines: [:browser] 17:56:51.470 [debug] QUERY OK source="media_items" db=2.5ms idle=1526.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" = ?) [71] 17:56:51.473 [debug] QUERY OK source="tasks" db=2.2ms idle=1526.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" [71] 17:56:51.473 [debug] QUERY OK source="sources" db=2.6ms idle=1523.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:56:51.476 [debug] QUERY OK source="oban_jobs" db=2.0ms queue=0.1ms idle=1234.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" = ?) [63] 17:56:51.478 [debug] QUERY OK source="settings" db=1.9ms idle=851.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:51.481 [debug] QUERY OK source="settings" db=2.1ms 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:56:51.483 [debug] QUERY OK source="settings" db=2.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:56:51.487 [debug] QUERY OK source="media_profiles" db=2.0ms idle=11.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:56:51.490 [info] Sent 200 in 22ms 17:56:52.910 [info] GET /sources/2/media/189/force_download 17:56:52.913 [debug] QUERY OK source="settings" db=2.6ms idle=276.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:52.915 [debug] QUERY OK source="settings" db=1.9ms idle=184.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:52.915 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:56:52.916 [error] #PID<0.4076.0> running PinchflatWeb.Endpoint (connection #PID<0.4042.0>, stream id 8) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/media/189/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/2/media/189/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4042.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/189/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46180}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4076.0>, params: %{}, path_info: ["sources", "2", "media", "189", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/2/media/189/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ34RgNylNXuVMAAEcC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4042.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/189/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46180}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/189/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4042.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/189/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46180}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", (truncated) 17:56:54.173 [info] GET /sources/2/media/192 17:56:54.174 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "192", "source_id" => "2"} Pipelines: [:browser] 17:56:54.177 [debug] QUERY OK source="media_items" db=3.0ms idle=1445.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" = ?) [192] 17:56:54.180 [debug] QUERY OK source="tasks" db=2.2ms idle=1449.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" [192] 17:56:54.180 [debug] QUERY OK source="sources" db=2.4ms idle=1264.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:56:54.183 [debug] QUERY OK source="oban_jobs" db=2.5ms idle=1265.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" = ?) [124] 17:56:54.185 [debug] QUERY OK source="settings" db=1.8ms idle=545.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54.188 [debug] QUERY OK source="settings" db=2.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 [] 17:56:54.191 [debug] QUERY OK source="settings" db=2.2ms 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 [] 17:56:54.194 [debug] QUERY OK source="media_profiles" db=2.2ms idle=11.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:56:54.196 [info] Sent 200 in 22ms 17:56:58.154 [info] GET /sources/2/media/192/edit 17:56:58.154 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "192", "source_id" => "2"} Pipelines: [:browser] 17:56:58.157 [debug] QUERY OK source="media_items" db=2.5ms idle=496.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" = ?) [192] 17:56:58.160 [debug] QUERY OK source="settings" db=2.0ms idle=429.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:58.162 [debug] QUERY OK source="settings" db=2.3ms 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 [] 17:56:58.165 [debug] QUERY OK source="settings" db=2.0ms idle=434.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:58.166 [info] Sent 200 in 12ms 17:57:00.419 [info] {"source":"oban","duration":282,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:57:01.558 [info] GET /sources/2/media/189/edit 17:57:01.558 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "189", "source_id" => "2"} Pipelines: [:browser] 17:57:01.561 [debug] QUERY OK source="media_items" db=2.5ms idle=1829.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" = ?) [189] 17:57:01.564 [debug] QUERY OK source="settings" db=2.6ms idle=1832.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:01.567 [debug] QUERY OK source="settings" db=2.2ms idle=1835.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:01.569 [debug] QUERY OK source="settings" db=1.9ms idle=1148.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:01.571 [info] Sent 200 in 13ms 17:57:04.705 [info] GET /sources/1/force_index 17:57:04.707 [debug] QUERY OK source="settings" db=2.3ms idle=1976.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04.710 [debug] QUERY OK source="settings" db=2.3ms idle=1979.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04.710 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:57:04.711 [error] #PID<0.4083.0> running PinchflatWeb.Endpoint (connection #PID<0.4042.0>, stream id 12) terminated Server: pinchflat.home.johnhollowell.com: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.4042.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46180}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4083.0>, params: %{}, path_info: ["sources", "1", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ349cTy6eT2BYAAEei"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4042.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46180}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, 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.4042.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46180}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", (truncated) 17:57:07.429 [info] GET /sources/1/media/100 17:57:07.429 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "100", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 17:57:07.432 [debug] QUERY OK source="media_items" db=2.7ms idle=1701.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" = ?) [100] 17:57:07.435 [debug] QUERY OK source="sources" db=2.0ms idle=731.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:57:07.436 [debug] QUERY OK source="tasks" db=2.9ms idle=1704.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" [100] 17:57:07.438 [debug] QUERY OK source="oban_jobs" db=2.0ms idle=708.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" = ?) [92] 17:57:07.441 [debug] QUERY OK source="settings" db=2.2ms idle=710.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:07.444 [debug] QUERY OK source="settings" db=2.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:57:07.447 [debug] QUERY OK source="settings" db=2.1ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:57:07.450 [debug] QUERY OK source="media_profiles" db=2.4ms idle=11.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:57:07.452 [info] Sent 200 in 23ms 17:57:16.157 [info] GET /sources/2/force_index 17:57:16.160 [debug] QUERY OK source="settings" db=2.3ms idle=1429.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16.162 [debug] QUERY OK source="settings" db=2.0ms idle=1431.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16.163 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:57:16.163 [error] #PID<0.4089.0> running PinchflatWeb.Endpoint (connection #PID<0.4088.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 45094}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4089.0>, params: %{}, path_info: ["sources", "2", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/2/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ35oG1o-IFA8oAAEfi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 45094}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 45094}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", (truncated) 17:57:20.243 [info] {"source":"oban","duration":3527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:23.827 [info] GET /sources/1/sync_files_on_disk 17:57:23.830 [debug] QUERY OK source="settings" db=2.4ms idle=1048.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:23.833 [debug] QUERY OK source="settings" db=2.3ms idle=102.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:57:23.833 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:57:23.834 [error] #PID<0.4093.0> running PinchflatWeb.Endpoint (connection #PID<0.4092.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com: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.4092.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 52296}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4093.0>, params: %{}, path_info: ["sources", "1", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], 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", "GHJ36Erhr1lXudkAAEGB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4092.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 52296}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4092.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 52296}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", (truncated) 17:57:46.062 [info] GET /sources/2/force_redownload 17:57:46.070 [debug] QUERY OK source="settings" db=7.9ms idle=333.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:46.077 [debug] QUERY OK source="settings" db=6.2ms idle=342.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:46.077 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:57:46.078 [error] #PID<0.4095.0> running PinchflatWeb.Endpoint (connection #PID<0.4094.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4094.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_redownload", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 45678}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4095.0>, params: %{}, path_info: ["sources", "2", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/2/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ37XgmwLDBRjoAAEgC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4094.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_redownload", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 45678}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4094.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_redownload", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 45678}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRGdpakliMlkxN1JFUWdlTHh5LXhoTjdR.tK3DEpNt0I23a0AVnMMGA2sVwyaos7xQGhtvO1lz0C0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x (truncated) 17:57:50.246 [info] {"source":"oban","duration":3182,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:00.420 [info] {"source":"oban","duration":281,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:58:01.177 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XE-jGHc8UOI --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/73/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/74/50/74504ba03b60d869efe785e295213ed4cace62c7b8752efde358d5bcde8a85bc.json --sleep-requests 11 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] XE-jGHc8UOI: nsig extraction failed: Some formats may be missing n = LIpalyGTa04oW9CM ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] XE-jGHc8UOI: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] XE-jGHc8UOI: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:58:01.179 [debug] QUERY OK db=0.2ms queue=0.1ms idle=1450.1ms begin [] 17:58:01.420 [debug] QUERY OK source="media_items" db=240.5ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 21:56:47Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e60 - Minecraft_-_The_Legend_of_Verigan_Part_2_Shadow_of_Israphel_Special.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e60 - Minecraft_-_The_Legend_of_Verigan_Part_2_Shadow_of_Israphel_Special.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e60 - Minecraft_-_The_Legend_of_Verigan_Part_2_Shadow_of_Israphel_Special.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e60 - Minecraft_-_The_Legend_of_Verigan_Part_2_Shadow_of_Israphel_Special-thumb.jpg", ~U[2025-10-27 21:58:01Z], 73] 17:58:01.441 [debug] QUERY OK source="media_metadata" db=20.2ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/73/metadata.json.gz", "/config/metadata/media_items/73/thumbnail.jpg", 73, ~U[2025-10-27 21:58:01Z], ~U[2025-10-27 21:58:01Z]] 17:58:01.653 [debug] QUERY OK db=211.6ms commit [] 17:58:01.720 [debug] QUERY OK source="media_items" db=65.4ms idle=1926.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [247785141, ~U[2025-10-27 21:58:01Z], 73] 17:58:01.722 [info] User scripts lifecyle file either not present or is empty. Skipping. 17:58:01.774 [info] {"args":{"id":73},"id":65,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":315881074,"event":"job:stop","queue_time":11490790697,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 17:58:01.838 [info] {"args":{"id":74},"id":66,"meta":{},"system_time":1761602281838479718,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 17:58:01.842 [debug] QUERY OK source="media_items" db=3.2ms idle=186.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [74] 17:58:01.842 [info] User scripts lifecyle file either not present or is empty. Skipping. 17:58:01.845 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=122.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:58:01.848 [debug] QUERY OK source="media_profiles" db=2.7ms idle=117.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:58:01.853 [debug] QUERY OK source="media_items" db=4.1ms idle=74.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 [74] 17:58:01.857 [debug] QUERY OK source="media_metadata" db=2.2ms idle=16.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [74] 17:58:01.860 [debug] QUERY OK source="media_profiles" db=2.8ms 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] 17:58:01.863 [debug] QUERY OK source="settings" db=2.4ms 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 [] 17:58:01.866 [debug] QUERY OK source="settings" db=2.4ms 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 [] 17:58:01.868 [debug] Running yt-dlp command for action: get_downloadable_status 17:58:01.871 [debug] QUERY OK source="settings" db=2.8ms idle=15.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:58:01.875 [debug] QUERY OK source="settings" db=2.7ms 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 [] 17:58:01.877 [debug] QUERY OK source="settings" db=2.2ms 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 [] 17:58:01.878 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=uh8TJVKi-9U --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f7/99/f79930afdea77be519e3605950626be1e6335ac3406bbf68e7185f193e095ccc.json --sleep-requests 13 --sleep-interval 15 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:58:20.252 [info] {"source":"oban","duration":4826,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:48.581 [info] GET /sources/2/media/192/force_download 17:58:48.584 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=853.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:58:48.586 [debug] QUERY OK source="settings" db=1.9ms idle=855.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:58:48.586 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:58:48.587 [error] #PID<0.4105.0> running PinchflatWeb.Endpoint (connection #PID<0.4104.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/media/192/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/2/media/192/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4104.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/192/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54384}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4105.0>, params: %{}, path_info: ["sources", "2", "media", "192", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/2/media/192/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ3_Aaa-L-5BHkAAEHB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4104.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/192/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54384}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/192/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4104.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/192/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54384}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4105.0>, params: %{}, path_info: ["sources", "2", "media", "192", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/ (truncated) 17:58:50.261 [info] {"source":"oban","duration":7621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:00.421 [info] {"source":"oban","duration":346,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:59:20.266 [info] {"source":"oban","duration":4389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:24.429 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=uh8TJVKi-9U --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f7/99/f79930afdea77be519e3605950626be1e6335ac3406bbf68e7185f193e095ccc.json --sleep-requests 13 --sleep-interval 15 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] uh8TJVKi-9U: nsig extraction failed: Some formats may be missing n = pBnBqr3DFvfQ5j3q ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] uh8TJVKi-9U: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] uh8TJVKi-9U: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 17:59:24.434 [debug] Running yt-dlp command for action: download 17:59:24.441 [debug] QUERY OK source="settings" db=5.3ms idle=906.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:24.444 [debug] QUERY OK source="settings" db=3.4ms idle=704.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:24.451 [debug] QUERY OK source="settings" db=5.8ms queue=0.1ms idle=708.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:24.456 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=uh8TJVKi-9U --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e61 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e61 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ac/42/ac427126f2d5b76752cc3a10a6274a5150daa7d3bda8d4e568201eb49370abfa.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:59:50.270 [info] {"source":"oban","duration":4046,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:50.743 [info] GET /sources/1/force_redownload 17:59:50.746 [debug] QUERY OK source="settings" db=2.3ms 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 [] 17:59:50.748 [debug] QUERY OK source="settings" db=2.2ms idle=1008.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50.749 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:59:50.749 [error] #PID<0.4111.0> running PinchflatWeb.Endpoint (connection #PID<0.4110.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com: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.4110.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 36890}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4111.0>, params: %{}, path_info: ["sources", "1", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ4Cn-8jVyg3XgAAEIB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4110.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 36890}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4110.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 36890}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4111.0>, params: %{}, path_info: ["sources", "1", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_ro (truncated) 18:00:00.422 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:00:20.276 [info] {"source":"oban","duration":5158,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:50.283 [info] {"source":"oban","duration":5589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:53.709 [info] GET /sources/1/media/100/force_download 18:00:53.712 [debug] QUERY OK source="settings" db=2.6ms idle=1967.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53.714 [debug] QUERY OK source="settings" db=2.1ms idle=1970.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53.715 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:00:53.715 [error] #PID<0.4120.0> running PinchflatWeb.Endpoint (connection #PID<0.4119.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/100/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/100/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4119.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/100/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 60002}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4120.0>, params: %{}, path_info: ["sources", "1", "media", "100", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/100/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ4GSjNKmuJ_g8AAEjC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4119.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/100/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 60002}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/100/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4119.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/100/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 60002}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4120.0>, params: %{}, path_info: ["sources", "1", "media", "100", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/ (truncated) 18:01:00.423 [info] {"source":"oban","duration":256,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:01:20.287 [info] {"source":"oban","duration":4219,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:50.291 [info] {"source":"oban","duration":3220,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:56.693 [info] GET /sources/2/sync_files_on_disk 18:01:56.698 [debug] QUERY OK source="settings" db=3.3ms idle=950.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56.701 [debug] QUERY OK source="settings" db=3.3ms idle=954.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56.702 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:01:56.702 [error] #PID<0.4126.0> running PinchflatWeb.Endpoint (connection #PID<0.4125.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4125.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 34202}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4126.0>, params: %{}, path_info: ["sources", "2", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/2/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ4J9L4B-x3Zb8AAEkC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :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: "/sources/2/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 34202}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4125.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 34202}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4126.0>, params: %{}, path_info: ["sources", "2", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, (truncated) 18:02:00.424 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:02:20.312 [info] {"source":"oban","duration":19927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:50.335 [info] {"source":"oban","duration":21748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:00.425 [info] {"source":"oban","duration":307,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:03:01.911 [info] GET /sources/2/media/188 18:03:01.912 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "188", "source_id" => "2"} Pipelines: [:browser] 18:03:01.917 [debug] QUERY OK source="media_items" db=4.6ms idle=794.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" = ?) [188] 18:03:01.924 [debug] QUERY OK source="sources" db=6.5ms idle=166.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:03:01.952 [debug] QUERY OK source="tasks" db=34.3ms idle=166.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" [188] 18:03:02.005 [debug] QUERY OK source="oban_jobs" db=52.2ms queue=0.2ms idle=201.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" = ?) [120] 18:03:02.008 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=254.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:03:02.010 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms 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 [] 18:03:02.013 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms idle=86.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:03:02.035 [debug] QUERY OK source="media_profiles" db=21.3ms idle=62.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:03:02.038 [info] Sent 200 in 126ms 18:03:06.135 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=uh8TJVKi-9U --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e61 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e61 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ac/42/ac427126f2d5b76752cc3a10a6274a5150daa7d3bda8d4e568201eb49370abfa.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] uh8TJVKi-9U: nsig extraction failed: Some formats may be missing n = 8qy69WpKc_8oQ5UV ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] uh8TJVKi-9U: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] uh8TJVKi-9U: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:03:06.262 [debug] Running yt-dlp command for action: download_thumbnail 18:03:06.266 [debug] QUERY OK source="settings" db=2.7ms idle=513.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:03:06.271 [debug] QUERY OK source="settings" db=3.9ms idle=516.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:03:06.274 [debug] QUERY OK source="settings" db=2.4ms idle=520.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:03:06.274 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=uh8TJVKi-9U --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/74/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/95/26/952661eb3d4db411f5649b03d5bc8c58116641609e847e26b2faa6e095a70304.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:03:20.347 [info] {"source":"oban","duration":10573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:50.351 [info] {"source":"oban","duration":3882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:00.426 [info] {"source":"oban","duration":271,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:04:04.346 [info] GET /sources/2/force_metadata_refresh 18:04:04.349 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=845.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04.352 [debug] QUERY OK source="settings" db=1.9ms idle=599.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04.352 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:04:04.352 [error] #PID<0.4145.0> running PinchflatWeb.Endpoint (connection #PID<0.4144.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4144.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 57458}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRWsyLXB5Y3ZHMHNhUG1mTDQwclhQSnlY.WDQeTMSxaSJwF2UndDgEuhwCu4W1TZcJL7htvhCD6-k", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRWsyLXB5Y3ZHMHNhUG1mTDQwclhQSnlY.WDQeTMSxaSJwF2UndDgEuhwCu4W1TZcJL7htvhCD6-k" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4145.0>, params: %{}, path_info: ["sources", "2", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRWsyLXB5Y3ZHMHNhUG1mTDQwclhQSnlY.WDQeTMSxaSJwF2UndDgEuhwCu4W1TZcJL7htvhCD6-k" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRWsyLXB5Y3ZHMHNhUG1mTDQwclhQSnlY.WDQeTMSxaSJwF2UndDgEuhwCu4W1TZcJL7htvhCD6-k"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/2/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ4RYutFRKyLMEAAEmC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4144.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 57458}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRWsyLXB5Y3ZHMHNhUG1mTDQwclhQSnlY.WDQeTMSxaSJwF2UndDgEuhwCu4W1TZcJL7htvhCD6-k", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4144.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 57458}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRWsyLXB5Y3ZHMHNhUG1mTDQwclhQSnlY.WDQeTMSxaSJwF2UndDgEuhwCu4W1TZcJL7htvhCD6-k", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwar (truncated) 18:04:20.355 [info] {"source":"oban","duration":3272,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:39.096 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=uh8TJVKi-9U --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/74/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/95/26/952661eb3d4db411f5649b03d5bc8c58116641609e847e26b2faa6e095a70304.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] uh8TJVKi-9U: nsig extraction failed: Some formats may be missing n = aCV0MwQm80m_VSJ4 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] uh8TJVKi-9U: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] uh8TJVKi-9U: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:04:39.097 [debug] QUERY OK db=0.2ms idle=1345.1ms begin [] 18:04:39.126 [debug] QUERY OK source="media_items" db=28.4ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 22:03:06Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e61 - Minecraft_-_The_Legend_of_Verigan_Part_3_Shadow_of_Israphel_Special.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e61 - Minecraft_-_The_Legend_of_Verigan_Part_3_Shadow_of_Israphel_Special.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e61 - Minecraft_-_The_Legend_of_Verigan_Part_3_Shadow_of_Israphel_Special.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e61 - Minecraft_-_The_Legend_of_Verigan_Part_3_Shadow_of_Israphel_Special-thumb.jpg", ~U[2025-10-27 22:04:39Z], 74] 18:04:39.130 [debug] QUERY OK source="media_metadata" db=4.1ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/74/metadata.json.gz", "/config/metadata/media_items/74/thumbnail.jpg", 74, ~U[2025-10-27 22:04:39Z], ~U[2025-10-27 22:04:39Z]] 18:04:39.210 [debug] QUERY OK db=79.9ms commit [] 18:04:39.331 [debug] QUERY OK source="media_items" db=117.8ms idle=1461.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [356028189, ~U[2025-10-27 22:04:39Z], 74] 18:04:39.335 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:04:39.471 [info] {"args":{"id":74},"id":66,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":397496998,"event":"job:stop","queue_time":11806780675,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:04:40.193 [info] {"args":{"id":75},"id":67,"meta":{},"system_time":1761602680193486358,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:04:40.197 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=983.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" = ?) [75] 18:04:40.197 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:04:40.201 [debug] QUERY OK source="sources" db=3.0ms idle=867.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:04:40.205 [debug] QUERY OK source="media_profiles" db=3.2ms idle=730.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:04:40.210 [debug] QUERY OK source="media_items" db=4.8ms queue=0.1ms idle=465.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] 18:04:40.215 [debug] QUERY OK source="media_metadata" db=3.3ms idle=18.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [75] 18:04:40.218 [debug] QUERY OK source="media_profiles" db=2.9ms 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] 18:04:40.223 [debug] QUERY OK source="settings" db=3.3ms idle=18.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:04:40.226 [debug] QUERY OK source="settings" db=2.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 [] 18:04:40.228 [debug] Running yt-dlp command for action: get_downloadable_status 18:04:40.245 [debug] QUERY OK source="settings" db=8.4ms idle=26.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:40.251 [debug] QUERY OK source="settings" db=5.5ms idle=30.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:40.260 [debug] QUERY OK source="settings" db=6.6ms queue=0.1ms idle=35.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:40.261 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XymK_UXWNn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0f/1d/0f1d1295d5f55686d76be8c050ce019055d04a424029b5c2653faf670d39d150.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:04:50.361 [info] {"source":"oban","duration":5107,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:58.461 [info] GET /sources/2/force_download_pending 18:04:58.465 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=682.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:58.468 [debug] QUERY OK source="settings" db=2.8ms idle=686.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:04:58.468 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:04:58.469 [error] #PID<0.4155.0> running PinchflatWeb.Endpoint (connection #PID<0.4154.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4154.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54878}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRWsyLXB5Y3ZHMHNhUG1mTDQwclhQSnlY.WDQeTMSxaSJwF2UndDgEuhwCu4W1TZcJL7htvhCD6-k", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRWsyLXB5Y3ZHMHNhUG1mTDQwclhQSnlY.WDQeTMSxaSJwF2UndDgEuhwCu4W1TZcJL7htvhCD6-k" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4155.0>, params: %{}, path_info: ["sources", "2", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRWsyLXB5Y3ZHMHNhUG1mTDQwclhQSnlY.WDQeTMSxaSJwF2UndDgEuhwCu4W1TZcJL7htvhCD6-k" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRWsyLXB5Y3ZHMHNhUG1mTDQwclhQSnlY.WDQeTMSxaSJwF2UndDgEuhwCu4W1TZcJL7htvhCD6-k"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/2/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ4UiUubIrFa2UAAEnC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4154.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54878}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRWsyLXB5Y3ZHMHNhUG1mTDQwclhQSnlY.WDQeTMSxaSJwF2UndDgEuhwCu4W1TZcJL7htvhCD6-k", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4154.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54878}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRWsyLXB5Y3ZHMHNhUG1mTDQwclhQSnlY.WDQeTMSxaSJwF2UndDgEuhwCu4W1TZcJL7htvhCD6-k", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwar (truncated) 18:05:00.427 [info] {"source":"oban","duration":312,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:05:20.366 [info] {"source":"oban","duration":3628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:50.371 [info] {"source":"oban","duration":5200,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:00.428 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:06:00.632 [info] GET /sources/2/media/188/edit 18:06:00.632 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "188", "source_id" => "2"} Pipelines: [:browser] 18:06:00.636 [debug] QUERY OK source="media_items" db=3.1ms idle=849.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" = ?) [188] 18:06:00.639 [debug] QUERY OK source="settings" db=2.4ms idle=853.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:00.642 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=855.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:00.645 [debug] QUERY OK source="settings" db=2.3ms idle=270.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:00.647 [info] Sent 200 in 14ms 18:06:15.137 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XymK_UXWNn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0f/1d/0f1d1295d5f55686d76be8c050ce019055d04a424029b5c2653faf670d39d150.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] XymK_UXWNn0: nsig extraction failed: Some formats may be missing n = FrVyl2QEY8eFp2s4 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] XymK_UXWNn0: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] XymK_UXWNn0: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:06:15.139 [debug] Running yt-dlp command for action: download 18:06:15.146 [debug] QUERY OK source="settings" db=4.0ms queue=2.2ms idle=1355.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:15.149 [debug] QUERY OK source="settings" db=3.3ms queue=0.1ms idle=1362.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:15.158 [debug] QUERY OK source="settings" db=8.5ms queue=0.1ms idle=1366.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:06:15.161 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XymK_UXWNn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e62 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e62 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/75/bb/75bbe1f216f919b817a764044d108212a6160597845f0aad97ffd44e4f1be2fa.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:06:20.385 [info] {"source":"oban","duration":12895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:50.390 [info] {"source":"oban","duration":3835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:00.430 [info] {"source":"oban","duration":1608,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:07:13.116 [info] GET /sources/1/force_metadata_refresh 18:07:13.126 [debug] QUERY OK source="settings" db=8.9ms queue=0.1ms idle=1318.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:07:13.133 [debug] QUERY OK source="settings" db=6.4ms queue=0.2ms idle=1327.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:07:13.133 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:07:13.134 [error] #PID<0.4168.0> running PinchflatWeb.Endpoint (connection #PID<0.4167.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com: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.4167.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 50082}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRWsyLXB5Y3ZHMHNhUG1mTDQwclhQSnlY.WDQeTMSxaSJwF2UndDgEuhwCu4W1TZcJL7htvhCD6-k", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRWsyLXB5Y3ZHMHNhUG1mTDQwclhQSnlY.WDQeTMSxaSJwF2UndDgEuhwCu4W1TZcJL7htvhCD6-k" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4168.0>, params: %{}, path_info: ["sources", "1", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRWsyLXB5Y3ZHMHNhUG1mTDQwclhQSnlY.WDQeTMSxaSJwF2UndDgEuhwCu4W1TZcJL7htvhCD6-k" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRWsyLXB5Y3ZHMHNhUG1mTDQwclhQSnlY.WDQeTMSxaSJwF2UndDgEuhwCu4W1TZcJL7htvhCD6-k"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], 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", "GHJ4cX8-IZKJ8JgAAEqC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4167.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 50082}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRWsyLXB5Y3ZHMHNhUG1mTDQwclhQSnlY.WDQeTMSxaSJwF2UndDgEuhwCu4W1TZcJL7htvhCD6-k", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4167.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 50082}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYRWsyLXB5Y3ZHMHNhUG1mTDQwclhQSnlY.WDQeTMSxaSJwF2UndDgEuhwCu4W1TZcJL7htvhCD6-k", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwar (truncated) 18:07:20.395 [info] {"source":"oban","duration":3614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:50.398 [info] {"source":"oban","duration":3151,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:00.431 [info] {"source":"oban","duration":255,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:08:20.404 [info] {"source":"oban","duration":4843,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:23.771 [info] GET /sources/new 18:08:23.771 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "1"} Pipelines: [:browser] 18:08:23.774 [debug] QUERY OK source="sources" db=2.3ms idle=1969.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:08:23.777 [debug] QUERY OK source="media_profiles" db=2.9ms queue=0.1ms idle=1972.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:08:23.780 [debug] QUERY OK source="settings" db=2.2ms idle=1976.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:23.783 [debug] QUERY OK source="settings" db=2.4ms idle=1495.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:23.786 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=494.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:08:23.789 [debug] QUERY OK source="settings" db=2.2ms 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 [] 18:08:23.792 [debug] QUERY OK source="settings" db=2.3ms 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 [] 18:08:23.796 [info] Sent 200 in 25ms 18:08:50.428 [info] {"source":"oban","duration":22323,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:00.319 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XymK_UXWNn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e62 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e62 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/75/bb/75bbe1f216f919b817a764044d108212a6160597845f0aad97ffd44e4f1be2fa.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] XymK_UXWNn0: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] XymK_UXWNn0: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] XymK_UXWNn0: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:09:00.430 [debug] Running yt-dlp command for action: download_thumbnail 18:09:00.434 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:09:00.438 [debug] QUERY OK source="settings" db=2.4ms idle=1629.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:00.443 [debug] QUERY OK source="settings" db=4.8ms idle=1631.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:00.449 [debug] QUERY OK source="settings" db=5.0ms idle=739.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:00.450 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XymK_UXWNn0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/75/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/d3/59/d359aa35c8f3c9cf624698d418f10e29942d4130a2beccf50b2e5c2f988edbb5.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:09:17.543 [info] GET /sources/1/force_download_pending 18:09:17.547 [debug] QUERY OK source="settings" db=2.5ms queue=0.9ms idle=1736.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:17.551 [debug] QUERY OK source="settings" db=3.6ms idle=1740.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:17.551 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:09:17.552 [error] #PID<0.4184.0> running PinchflatWeb.Endpoint (connection #PID<0.4183.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com: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.4183.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 34746}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4184.0>, params: %{}, path_info: ["sources", "1", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], 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", "GHJ4jneiEmG2JMsAAEPB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4183.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 34746}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4183.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 34746}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwar (truncated) 18:09:20.432 [info] {"source":"oban","duration":3631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:50.438 [info] {"source":"oban","duration":4447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:00.436 [info] {"source":"oban","duration":341,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:10:07.102 [info] GET /sources/1/media/94/force_download 18:10:07.105 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=1295.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:10:07.108 [debug] QUERY OK source="settings" db=2.3ms idle=1298.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:10:07.108 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:10:07.108 [error] #PID<0.4190.0> running PinchflatWeb.Endpoint (connection #PID<0.4189.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/94/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/94/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4189.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/94/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46128}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4190.0>, params: %{}, path_info: ["sources", "1", "media", "94", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/94/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ4mgGTyaf0T2sAAEsC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4189.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/94/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46128}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/94/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4189.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/94/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46128}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", (truncated) 18:10:20.445 [info] {"source":"oban","duration":6372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:39.563 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=XymK_UXWNn0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/75/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/d3/59/d359aa35c8f3c9cf624698d418f10e29942d4130a2beccf50b2e5c2f988edbb5.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] XymK_UXWNn0: nsig extraction failed: Some formats may be missing n = fywihnZC_G7_igd ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] XymK_UXWNn0: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] XymK_UXWNn0: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:10:39.568 [debug] QUERY OK db=3.6ms idle=1757.5ms begin [] 18:10:39.775 [debug] QUERY OK source="media_items" db=206.4ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 22:09:00Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e62 - Minecraft_-_Child_s_Play_Post-Livestream_Party_w_Special_Guests.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e62 - Minecraft_-_Child_s_Play_Post-Livestream_Party_w_Special_Guests.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e62 - Minecraft_-_Child_s_Play_Post-Livestream_Party_w_Special_Guests.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e62 - Minecraft_-_Child_s_Play_Post-Livestream_Party_w_Special_Guests-thumb.jpg", ~U[2025-10-27 22:10:39Z], 75] 18:10:39.782 [debug] QUERY OK source="media_metadata" db=6.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/75/metadata.json.gz", "/config/metadata/media_items/75/thumbnail.jpg", 75, ~U[2025-10-27 22:10:39Z], ~U[2025-10-27 22:10:39Z]] 18:10:39.894 [debug] QUERY OK db=111.4ms commit [] 18:10:39.984 [debug] QUERY OK source="media_items" db=83.1ms queue=0.1ms idle=1094.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [197761758, ~U[2025-10-27 22:10:39Z], 75] 18:10:39.986 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:10:40.052 [info] {"args":{"id":75},"id":67,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":359792738,"event":"job:stop","queue_time":12204487341,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:10:40.126 [info] {"args":{"id":76},"id":68,"meta":{},"system_time":1761603040126747421,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:10:40.131 [debug] QUERY OK source="media_items" db=4.0ms queue=0.1ms idle=320.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" = ?) [76] 18:10:40.131 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:10:40.141 [debug] QUERY OK source="sources" db=9.6ms idle=237.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:10:40.145 [debug] QUERY OK source="media_profiles" db=3.0ms idle=158.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:10:40.160 [debug] QUERY OK source="media_items" db=14.7ms idle=93.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 [76] 18:10:40.165 [debug] QUERY OK source="media_metadata" db=2.9ms idle=36.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [76] 18:10:40.172 [debug] QUERY OK source="media_profiles" db=5.8ms idle=34.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:10:40.179 [debug] QUERY OK source="settings" db=6.8ms queue=0.1ms idle=31.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:10:40.185 [debug] QUERY OK source="settings" db=4.8ms idle=34.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:10:40.188 [debug] Running yt-dlp command for action: get_downloadable_status 18:10:40.193 [debug] QUERY OK source="settings" db=3.2ms 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 [] 18:10:40.198 [debug] QUERY OK source="settings" db=3.9ms 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 [] 18:10:40.201 [debug] QUERY OK source="settings" db=3.1ms queue=0.1ms 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 [] 18:10:40.202 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=y7bNgPxm0Vs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7b/2c/7b2c67483e728637fed3075c0d781a3f9c367adfbd5540a61eae4517594ef71e.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:10:50.451 [info] {"source":"oban","duration":5253,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:00.437 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:11:20.456 [info] {"source":"oban","duration":5134,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:20.519 [info] GET /sources/1/media/68/edit 18:11:20.519 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "68", "source_id" => "1"} Pipelines: [:browser] 18:11:20.524 [debug] QUERY OK source="media_items" db=3.7ms idle=713.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" = ?) [68] 18:11:20.526 [debug] QUERY OK source="settings" db=2.1ms idle=717.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:11:20.529 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms idle=720.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:11:20.532 [debug] QUERY OK source="settings" db=2.1ms idle=723.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:11:20.533 [info] Sent 200 in 14ms 18:11:50.461 [info] {"source":"oban","duration":3498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:56.617 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=y7bNgPxm0Vs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7b/2c/7b2c67483e728637fed3075c0d781a3f9c367adfbd5540a61eae4517594ef71e.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] y7bNgPxm0Vs: nsig extraction failed: Some formats may be missing n = noI5yq2o6dm6wb9r ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] y7bNgPxm0Vs: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] y7bNgPxm0Vs: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:11:56.617 [debug] Running yt-dlp command for action: download 18:11:56.620 [debug] QUERY OK source="settings" db=2.5ms queue=0.2ms idle=811.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:11:56.622 [debug] QUERY OK source="settings" db=1.9ms idle=814.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:11:56.625 [debug] QUERY OK source="settings" db=2.1ms idle=816.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:11:56.625 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=y7bNgPxm0Vs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e63 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e63 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/bf/9f/bf9fe69ad2dc5a9d67f919c9200f8c37c7f452b5a4050276d2f470d89e392ae9.json --sleep-requests 12 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:12:00.444 [info] {"source":"oban","duration":1152,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:12:14.305 [info] GET /sources/1/media/72/force_download 18:12:14.308 [debug] QUERY OK source="settings" db=2.4ms idle=499.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:12:14.311 [debug] QUERY OK source="settings" db=2.2ms idle=502.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:12:14.311 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:12:14.311 [error] #PID<0.4206.0> running PinchflatWeb.Endpoint (connection #PID<0.4205.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/72/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/72/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4205.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/72/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42592}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4206.0>, params: %{}, path_info: ["sources", "1", "media", "72", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/72/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ4t5-BoX3fJVYAAETB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4205.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/72/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42592}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/72/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4205.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/72/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42592}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", (truncated) 18:12:20.466 [info] {"source":"oban","duration":4531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:50.470 [info] {"source":"oban","duration":3734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:00.446 [info] {"source":"oban","duration":276,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:13:09.409 [info] GET /sources/1/media/71/force_download 18:13:09.420 [debug] QUERY OK source="settings" db=10.4ms queue=0.1ms idle=1602.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:09.423 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=1613.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:13:09.423 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:13:09.424 [error] #PID<0.4213.0> running PinchflatWeb.Endpoint (connection #PID<0.4212.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/71/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/71/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4212.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/71/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 40814}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4213.0>, params: %{}, path_info: ["sources", "1", "media", "71", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/71/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ4xHPr_1MhS28AAEUh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4212.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/71/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 40814}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/71/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4212.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/71/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 40814}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUXMtYzBKRURDOEFVNmMyb0R5UkpNR3Rn.BFtvGtjv_Iq2I5nWycTiLmp6FVUBjuJ0K5qwmKBc6BU", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", (truncated) 18:13:20.476 [info] {"source":"oban","duration":4911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:50.481 [info] {"source":"oban","duration":3612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:00.447 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:14:11.491 [info] GET /sources/1/media/68/force_download 18:14:11.495 [debug] QUERY OK source="settings" db=3.0ms idle=1677.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:11.497 [debug] QUERY OK source="settings" db=2.5ms idle=1680.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:11.498 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:14:11.498 [error] #PID<0.4219.0> running PinchflatWeb.Endpoint (connection #PID<0.4218.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/68/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/68/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4218.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/68/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 35186}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4219.0>, params: %{}, path_info: ["sources", "1", "media", "68", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/68/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ40uhQbVOYOBcAAEWB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4218.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/68/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 35186}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/68/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4218.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/68/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 35186}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4219.0>, params: %{}, path_info: ["sources", "1", "media", "68", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 18:14:20.486 [info] {"source":"oban","duration":4350,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:50.490 [info] {"source":"oban","duration":4076,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:00.448 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:15:08.456 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=y7bNgPxm0Vs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e63 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e63 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/bf/9f/bf9fe69ad2dc5a9d67f919c9200f8c37c7f452b5a4050276d2f470d89e392ae9.json --sleep-requests 12 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] y7bNgPxm0Vs: nsig extraction failed: Some formats may be missing n = uVCv0DGZwyTRNYCV ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] y7bNgPxm0Vs: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] y7bNgPxm0Vs: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:15:08.532 [debug] Running yt-dlp command for action: download_thumbnail 18:15:08.536 [debug] QUERY OK source="settings" db=2.5ms 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 [] 18:15:08.538 [debug] QUERY OK source="settings" db=2.3ms idle=721.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:08.541 [debug] QUERY OK source="settings" db=2.3ms idle=724.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:08.541 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=y7bNgPxm0Vs --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/76/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/bb/f8/bbf8bb5aab51dffa11c40e89d231c60548ef7e5a7b46acfdca332b7258b443c9.json --sleep-requests 13 --sleep-interval 15 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:15:13.872 [info] GET /sources/1/media/67/force_download 18:15:13.875 [debug] QUERY OK source="settings" db=2.5ms idle=523.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:13.878 [debug] QUERY OK source="settings" db=2.1ms idle=61.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:15:13.878 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:15:13.878 [error] #PID<0.4229.0> running PinchflatWeb.Endpoint (connection #PID<0.4228.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/67/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/67/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4228.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/67/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51978}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4229.0>, params: %{}, path_info: ["sources", "1", "media", "67", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/67/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ44W6H9DmaKBoAAEXh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4228.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/67/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51978}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/67/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4228.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/67/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51978}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4229.0>, params: %{}, path_info: ["sources", "1", "media", "67", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 18:15:20.496 [info] {"source":"oban","duration":4855,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:50.501 [info] {"source":"oban","duration":3554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:00.450 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:16:18.424 [info] GET /sources/2/media/188/force_download 18:16:18.427 [debug] QUERY OK source="settings" db=2.5ms idle=705.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:18.430 [debug] QUERY OK source="settings" db=2.0ms idle=611.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:18.430 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:16:18.430 [error] #PID<0.4236.0> running PinchflatWeb.Endpoint (connection #PID<0.4235.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/media/188/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/2/media/188/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4235.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/188/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 43298}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4236.0>, params: %{}, path_info: ["sources", "2", "media", "188", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/2/media/188/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ48HYgISco1PAAAEZB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4235.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/188/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 43298}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/188/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4235.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/188/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 43298}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4236.0>, params: %{}, path_info: ["sources", "2", "media", "188", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/ (truncated) 18:16:20.504 [info] {"source":"oban","duration":3087,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:34.330 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=y7bNgPxm0Vs --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/76/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/bb/f8/bbf8bb5aab51dffa11c40e89d231c60548ef7e5a7b46acfdca332b7258b443c9.json --sleep-requests 13 --sleep-interval 15 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] y7bNgPxm0Vs: nsig extraction failed: Some formats may be missing n = nLbupt9p6dCJtfWe ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] y7bNgPxm0Vs: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] y7bNgPxm0Vs: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:16:34.331 [debug] QUERY OK db=0.0ms idle=533.8ms begin [] 18:16:34.361 [debug] QUERY OK source="media_items" db=29.3ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 22:15:08Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e63 - Minecraft_-_Shadow_of_Israphel_Part_20_-_The_Dread_Pirate_Norris.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e63 - Minecraft_-_Shadow_of_Israphel_Part_20_-_The_Dread_Pirate_Norris.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e63 - Minecraft_-_Shadow_of_Israphel_Part_20_-_The_Dread_Pirate_Norris.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e63 - Minecraft_-_Shadow_of_Israphel_Part_20_-_The_Dread_Pirate_Norris-thumb.jpg", ~U[2025-10-27 22:16:34Z], 76] 18:16:34.365 [debug] QUERY OK source="media_metadata" db=3.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/76/metadata.json.gz", "/config/metadata/media_items/76/thumbnail.jpg", 76, ~U[2025-10-27 22:16:34Z], ~U[2025-10-27 22:16:34Z]] 18:16:34.471 [debug] QUERY OK db=105.0ms commit [] 18:16:34.574 [debug] QUERY OK source="media_items" db=95.2ms idle=659.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [243286965, ~U[2025-10-27 22:16:34Z], 76] 18:16:34.580 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:16:34.630 [info] {"args":{"id":76},"id":68,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":354453630,"event":"job:stop","queue_time":12564058687,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:16:34.695 [info] {"args":{"id":77},"id":69,"meta":{},"system_time":1761603394695558812,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:16:34.700 [debug] QUERY OK source="media_items" db=4.5ms idle=876.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" = ?) [77] 18:16:34.701 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:16:34.707 [debug] QUERY OK source="sources" db=6.0ms idle=230.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:16:34.724 [debug] QUERY OK source="media_profiles" db=16.2ms queue=0.1ms idle=133.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:16:34.731 [debug] QUERY OK source="media_items" db=5.5ms queue=0.1ms idle=95.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 [77] 18:16:34.736 [debug] QUERY OK source="media_metadata" db=3.4ms idle=37.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [77] 18:16:34.740 [debug] QUERY OK source="media_profiles" db=3.4ms idle=36.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:16:34.748 [debug] QUERY OK source="settings" db=6.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 [] 18:16:34.753 [debug] QUERY OK source="settings" db=4.3ms queue=0.1ms idle=24.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:34.755 [debug] Running yt-dlp command for action: get_downloadable_status 18:16:34.759 [debug] QUERY OK source="settings" db=3.0ms 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 [] 18:16:34.780 [debug] QUERY OK source="settings" db=20.8ms queue=0.1ms idle=22.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:34.792 [debug] QUERY OK source="settings" db=11.5ms queue=0.1ms idle=40.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16:34.794 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8N3rNMzbpx4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2f/1a/2f1a8d63af9b5bcf57701e2117c828c9f28c351dbb6302c5ba3962ff8551d30c.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:16:50.517 [info] {"source":"oban","duration":11772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:00.451 [info] {"source":"oban","duration":474,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:17:19.161 [info] GET /sources/1/media/70/force_download 18:17:19.164 [debug] QUERY OK source="settings" db=2.5ms idle=1342.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:17:19.166 [debug] QUERY OK source="settings" db=2.2ms idle=1345.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:17:19.166 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:17:19.167 [error] #PID<0.4245.0> running PinchflatWeb.Endpoint (connection #PID<0.4244.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/70/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/70/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4244.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/70/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 43866}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4245.0>, params: %{}, path_info: ["sources", "1", "media", "70", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/70/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ4_ppND334se8AAEah"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4244.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/70/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 43866}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/70/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4244.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/70/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 43866}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4245.0>, params: %{}, path_info: ["sources", "1", "media", "70", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 18:17:20.523 [info] {"source":"oban","duration":4672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:50.529 [info] {"source":"oban","duration":4860,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:00.452 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:18:08.950 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8N3rNMzbpx4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2f/1a/2f1a8d63af9b5bcf57701e2117c828c9f28c351dbb6302c5ba3962ff8551d30c.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 8N3rNMzbpx4: nsig extraction failed: Some formats may be missing n = 0kiGNl_6I4-BtbT1 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 8N3rNMzbpx4: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 8N3rNMzbpx4: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:18:08.950 [debug] Running yt-dlp command for action: download 18:18:08.953 [debug] QUERY OK source="settings" db=2.5ms idle=1131.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:08.955 [debug] QUERY OK source="settings" db=2.3ms idle=1134.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:08.958 [debug] QUERY OK source="settings" db=2.4ms idle=1137.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:08.959 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8N3rNMzbpx4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e64 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e64 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5c/e2/5ce2ea1c8ae86de9a17097c4af5538f9a1463aa067629b4728be35c7b69fd4f9.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:18:20.538 [info] {"source":"oban","duration":7488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:23.818 [info] GET /sources/1/media/69/force_download 18:18:23.824 [debug] QUERY OK source="settings" db=4.3ms queue=0.3ms idle=1000.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:23.827 [debug] QUERY OK source="settings" db=2.4ms idle=340.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:18:23.827 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:18:23.829 [error] #PID<0.4252.0> running PinchflatWeb.Endpoint (connection #PID<0.4251.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/69/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/69/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4251.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/69/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 43302}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4252.0>, params: %{}, path_info: ["sources", "1", "media", "69", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/69/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ5Dag1jVKVLb0AAEcB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4251.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/69/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 43302}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/69/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4251.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/69/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 43302}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4252.0>, params: %{}, path_info: ["sources", "1", "media", "69", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 18:18:50.542 [info] {"source":"oban","duration":4164,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:00.453 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:19:20.547 [info] {"source":"oban","duration":3497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:27.731 [info] GET /sources/1/media/69/edit 18:19:27.731 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "69", "source_id" => "1"} Pipelines: [:browser] 18:19:27.735 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=1913.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" = ?) [69] 18:19:27.737 [debug] QUERY OK source="settings" db=2.0ms idle=1916.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:27.743 [debug] QUERY OK source="settings" db=5.0ms idle=1919.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:27.746 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=1925.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:19:27.748 [info] Sent 200 in 16ms 18:19:50.552 [info] {"source":"oban","duration":4651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:00.454 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:20:04.854 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8N3rNMzbpx4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e64 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e64 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5c/e2/5ce2ea1c8ae86de9a17097c4af5538f9a1463aa067629b4728be35c7b69fd4f9.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 8N3rNMzbpx4: nsig extraction failed: Some formats may be missing n = HApjX9nvQxLxseus ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 8N3rNMzbpx4: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 8N3rNMzbpx4: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:20:04.941 [debug] Running yt-dlp command for action: download_thumbnail 18:20:04.944 [debug] QUERY OK source="settings" db=2.0ms idle=1123.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:04.947 [debug] QUERY OK source="settings" db=2.1ms idle=1126.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:04.949 [debug] QUERY OK source="settings" db=2.3ms idle=883.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:04.950 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8N3rNMzbpx4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/77/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/d9/12/d912f60fc207ef6e9e1ef81075a052b9c36d5031b944929d2112af866a7bd3d0.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:20:20.556 [info] {"source":"oban","duration":3761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:33.463 [info] GET /sources/1/media/71/edit 18:20:33.463 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "71", "source_id" => "1"} Pipelines: [:browser] 18:20:33.467 [debug] QUERY OK source="media_items" db=2.9ms idle=1246.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" = ?) [71] 18:20:33.470 [debug] QUERY OK source="settings" db=2.5ms idle=644.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:33.472 [debug] QUERY OK source="settings" db=2.1ms idle=647.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:33.475 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=650.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:20:33.477 [info] Sent 200 in 13ms 18:20:50.560 [info] {"source":"oban","duration":3015,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:00.455 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:21:19.492 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8N3rNMzbpx4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/77/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/d9/12/d912f60fc207ef6e9e1ef81075a052b9c36d5031b944929d2112af866a7bd3d0.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 8N3rNMzbpx4: nsig extraction failed: Some formats may be missing n = LkTlAZRZCzg39Qmm ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 8N3rNMzbpx4: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 8N3rNMzbpx4: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:21:19.493 [debug] QUERY OK db=0.1ms idle=1667.0ms begin [] 18:21:19.531 [debug] QUERY OK source="media_items" db=37.3ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 22:20:04Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e64 - Minecraft_-_Shadow_of_Israphel_-_Outtakes_Behind_the_scenes.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e64 - Minecraft_-_Shadow_of_Israphel_-_Outtakes_Behind_the_scenes.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e64 - Minecraft_-_Shadow_of_Israphel_-_Outtakes_Behind_the_scenes.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e64 - Minecraft_-_Shadow_of_Israphel_-_Outtakes_Behind_the_scenes-thumb.jpg", ~U[2025-10-27 22:21:19Z], 77] 18:21:19.536 [debug] QUERY OK source="media_metadata" db=4.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/77/metadata.json.gz", "/config/metadata/media_items/77/thumbnail.jpg", 77, ~U[2025-10-27 22:21:19Z], ~U[2025-10-27 22:21:19Z]] 18:21:19.664 [debug] QUERY OK db=127.5ms commit [] 18:21:19.873 [debug] QUERY OK source="media_items" db=194.3ms idle=1136.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [29744340, ~U[2025-10-27 22:21:19Z], 77] 18:21:19.874 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:21:19.915 [info] {"args":{"id":77},"id":69,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":285179458,"event":"job:stop","queue_time":12918637239,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:21:19.974 [info] {"args":{"id":78},"id":70,"meta":{},"system_time":1761603679974318075,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:21:19.978 [debug] QUERY OK source="media_items" db=3.6ms idle=310.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" = ?) [78] 18:21:19.979 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:21:19.985 [debug] QUERY OK source="sources" db=5.9ms queue=0.1ms idle=106.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:21:19.989 [debug] QUERY OK source="media_profiles" db=3.0ms queue=0.2ms idle=112.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:21:19.994 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=74.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 [78] 18:21:19.997 [debug] QUERY OK source="media_metadata" db=2.1ms idle=21.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [78] 18:21:20.000 [debug] QUERY OK source="media_profiles" db=2.8ms 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] 18:21:20.003 [debug] QUERY OK source="settings" db=2.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 [] 18:21:20.006 [debug] QUERY OK source="settings" db=2.5ms 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 [] 18:21:20.008 [debug] Running yt-dlp command for action: get_downloadable_status 18:21:20.012 [debug] QUERY OK source="settings" db=2.6ms 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 [] 18:21:20.015 [debug] QUERY OK source="settings" db=2.4ms 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 [] 18:21:20.018 [debug] QUERY OK source="settings" db=2.6ms 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 [] 18:21:20.019 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=WAc48jMHyoY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/90/14/90140c2d583a91ead7a0dc07de73a8ffbebd14d64d3eee3e513f766af952a182.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:21:20.568 [info] {"source":"oban","duration":6746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:31.365 [info] GET /sources/2/media/188 18:21:31.365 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "188", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 18:21:31.375 [debug] QUERY OK source="media_items" db=8.4ms queue=0.1ms idle=1493.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" = ?) [188] 18:21:31.379 [debug] QUERY OK source="sources" db=2.5ms idle=1503.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:21:31.380 [debug] QUERY OK source="tasks" db=4.4ms queue=0.1ms idle=1503.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" [188] 18:21:31.384 [debug] QUERY OK source="oban_jobs" db=3.5ms idle=1418.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" = ?) [120] 18:21:31.388 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=415.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:21:31.391 [debug] QUERY OK source="settings" db=2.8ms 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 [] 18:21:31.402 [debug] QUERY OK source="settings" db=9.0ms queue=0.1ms idle=13.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:21:31.410 [debug] QUERY OK source="media_profiles" db=5.2ms queue=1.1ms idle=22.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:21:31.414 [info] Sent 200 in 48ms 18:21:50.580 [info] {"source":"oban","duration":11130,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:00.456 [info] {"source":"oban","duration":470,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:22:20.586 [info] {"source":"oban","duration":4689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:24.707 [info] GET /sources/1/media/63 18:22:24.707 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "63", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 18:22:24.727 [debug] QUERY OK source="media_items" db=19.6ms idle=1459.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" = ?) [63] 18:22:24.732 [debug] QUERY OK source="sources" db=4.2ms idle=851.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:22:24.733 [debug] QUERY OK source="tasks" db=5.4ms idle=851.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" [63] 18:22:24.737 [debug] QUERY OK source="oban_jobs" db=3.2ms idle=857.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [55] 18:22:24.741 [debug] QUERY OK source="settings" db=3.1ms idle=485.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:22:24.745 [debug] QUERY OK source="settings" db=3.4ms queue=0.4ms 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 [] 18:22:24.751 [debug] QUERY OK source="settings" db=4.5ms queue=0.2ms 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 [] 18:22:24.758 [debug] QUERY OK source="media_profiles" db=5.1ms queue=0.4ms 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] 18:22:24.768 [info] Sent 200 in 61ms 18:22:42.958 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=WAc48jMHyoY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/90/14/90140c2d583a91ead7a0dc07de73a8ffbebd14d64d3eee3e513f766af952a182.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] WAc48jMHyoY: nsig extraction failed: Some formats may be missing n = tbgecCFaxmZdRJcT ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] WAc48jMHyoY: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] WAc48jMHyoY: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:22:42.959 [debug] Running yt-dlp command for action: download 18:22:42.962 [debug] QUERY OK source="settings" db=3.0ms queue=0.1ms idle=1082.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:22:42.965 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=1086.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:22:42.968 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=1088.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:22:42.968 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=WAc48jMHyoY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e65 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e65 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/23/77/2377abf35f3675e0f11b9f56211d7214aa64333128ddead27d10baf21c4432be.json --sleep-requests 14 --sleep-interval 11 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:22:50.602 [info] {"source":"oban","duration":15128,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:00.457 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:23:14.225 [info] GET /sources/1/media/56 18:23:14.225 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "56", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 18:23:14.229 [debug] QUERY OK source="media_items" db=3.1ms idle=1349.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" = ?) [56] 18:23:14.232 [debug] QUERY OK source="sources" db=2.3ms queue=0.5ms 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] 18:23:14.234 [debug] QUERY OK source="tasks" db=4.2ms idle=685.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" [56] 18:23:14.237 [debug] QUERY OK source="oban_jobs" db=2.7ms idle=357.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" = ?) [48] 18:23:14.245 [debug] QUERY OK source="settings" db=7.7ms queue=0.1ms idle=360.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:23:14.249 [debug] QUERY OK source="settings" db=3.0ms 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 [] 18:23:14.253 [debug] QUERY OK source="settings" db=3.1ms queue=0.1ms idle=17.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:23:14.258 [debug] QUERY OK source="media_profiles" db=4.2ms 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] 18:23:14.262 [info] Sent 200 in 37ms 18:23:20.606 [info] {"source":"oban","duration":4117,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:49.062 [info] GET /sources/1/media/68 18:23:49.063 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "68", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 18:23:49.070 [debug] QUERY OK source="media_items" db=6.1ms queue=0.1ms idle=1186.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" = ?) [68] 18:23:49.078 [debug] QUERY OK source="sources" db=6.9ms queue=0.1ms idle=1193.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:23:49.078 [debug] QUERY OK source="tasks" db=7.6ms queue=0.2ms idle=1192.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [68] 18:23:49.086 [debug] QUERY OK source="oban_jobs" db=6.9ms queue=0.1ms idle=1201.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" = ?) [60] 18:23:49.093 [debug] QUERY OK source="settings" db=6.1ms queue=0.2ms idle=276.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:23:49.098 [debug] QUERY OK source="settings" db=4.4ms 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 [] 18:23:49.105 [debug] QUERY OK source="settings" db=4.2ms queue=1.6ms 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 [] 18:23:49.112 [debug] QUERY OK source="media_profiles" db=4.1ms queue=0.7ms idle=28.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:23:49.117 [info] Sent 200 in 54ms 18:23:50.613 [info] {"source":"oban","duration":6054,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:00.458 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:24:20.619 [info] {"source":"oban","duration":4817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:27.358 [info] GET /sources/2/media/189 18:24:27.359 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "189", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 18:24:27.362 [debug] QUERY OK source="media_items" db=3.1ms idle=1481.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [189] 18:24:27.365 [debug] QUERY OK source="sources" db=2.0ms idle=1330.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:24:27.366 [debug] QUERY OK source="tasks" db=2.8ms idle=1485.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" [189] 18:24:27.368 [debug] QUERY OK source="oban_jobs" db=2.5ms idle=488.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" = ?) [122] 18:24:27.371 [debug] QUERY OK source="settings" db=2.4ms idle=310.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:24:27.374 [debug] QUERY OK source="settings" db=2.2ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:24:27.377 [debug] QUERY OK source="settings" db=2.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 [] 18:24:27.380 [debug] QUERY OK source="media_profiles" db=2.6ms idle=11.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:24:27.382 [info] Sent 200 in 24ms 18:24:50.624 [info] {"source":"oban","duration":4057,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:00.093 [info] GET /sources/1/media/69 18:25:00.093 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "69", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 18:25:00.096 [debug] QUERY OK source="media_items" db=2.6ms idle=1216.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" = ?) [69] 18:25:00.099 [debug] QUERY OK source="sources" db=1.8ms idle=1219.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:25:00.099 [debug] QUERY OK source="tasks" db=2.7ms idle=1219.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" [69] 18:25:00.102 [debug] QUERY OK source="oban_jobs" db=2.4ms idle=777.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" = ?) [61] 18:25:00.105 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms idle=225.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:25:00.107 [debug] QUERY OK source="settings" db=2.0ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:25:00.110 [debug] QUERY OK source="settings" db=1.9ms 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 [] 18:25:00.113 [debug] QUERY OK source="media_profiles" db=2.1ms idle=11.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:25:00.115 [info] Sent 200 in 22ms 18:25:00.460 [info] {"source":"oban","duration":1203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:25:20.630 [info] {"source":"oban","duration":5220,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:31.593 [info] GET /sources/2/media/192 18:25:31.593 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "192", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 18:25:31.597 [debug] QUERY OK source="media_items" db=3.3ms queue=0.1ms idle=1715.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" = ?) [192] 18:25:31.600 [debug] QUERY OK source="sources" db=2.4ms idle=1719.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 18:25:31.601 [debug] QUERY OK source="tasks" db=3.8ms idle=1719.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" [192] 18:25:31.604 [debug] QUERY OK source="oban_jobs" db=2.3ms idle=1075.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" = ?) [124] 18:25:31.608 [debug] QUERY OK source="settings" db=3.1ms idle=66.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:25:31.611 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=11.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:25:31.614 [debug] QUERY OK source="settings" db=2.3ms 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 [] 18:25:31.618 [debug] QUERY OK source="media_profiles" db=3.0ms 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] 18:25:31.621 [info] Sent 200 in 28ms 18:25:48.130 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=WAc48jMHyoY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e65 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e65 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/23/77/2377abf35f3675e0f11b9f56211d7214aa64333128ddead27d10baf21c4432be.json --sleep-requests 14 --sleep-interval 11 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] WAc48jMHyoY: nsig extraction failed: Some formats may be missing n = X_ekm54gbftJxdkx ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] WAc48jMHyoY: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] WAc48jMHyoY: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:25:48.207 [debug] Running yt-dlp command for action: download_thumbnail 18:25:48.214 [debug] QUERY OK source="settings" db=3.4ms idle=1326.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:25:48.218 [debug] QUERY OK source="settings" db=3.1ms queue=0.3ms idle=1331.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:25:48.223 [debug] QUERY OK source="settings" db=4.3ms queue=0.1ms idle=1335.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:25:48.224 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=WAc48jMHyoY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/78/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/99/27/9927af3c0463d6cb0be1bc0b3fbb0015f2d8efb5cfdfc046241a84d45e041bda.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:25:50.656 [info] {"source":"oban","duration":24792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:00.461 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:26:20.661 [info] {"source":"oban","duration":3468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:31.132 [info] GET /sources/1/media/70/edit 18:26:31.132 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "70", "source_id" => "1"} Pipelines: [:browser] 18:26:31.136 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=1246.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" = ?) [70] 18:26:31.140 [debug] QUERY OK source="settings" db=3.0ms queue=0.2ms idle=1250.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:26:31.143 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=1253.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:26:31.146 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=1016.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:26:31.148 [info] Sent 200 in 15ms 18:26:33.113 [info] GET /sources/1/media/72/edit 18:26:33.113 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "72", "source_id" => "1"} Pipelines: [:browser] 18:26:33.118 [debug] QUERY OK source="media_items" db=4.0ms idle=976.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" = ?) [72] 18:26:33.121 [debug] QUERY OK source="settings" db=2.4ms idle=232.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:26:33.123 [debug] QUERY OK source="settings" db=2.1ms idle=234.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:26:33.126 [debug] QUERY OK source="settings" db=2.0ms idle=237.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:26:33.128 [info] Sent 200 in 14ms 18:26:48.023 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=WAc48jMHyoY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/78/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/99/27/9927af3c0463d6cb0be1bc0b3fbb0015f2d8efb5cfdfc046241a84d45e041bda.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] WAc48jMHyoY: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] WAc48jMHyoY: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] WAc48jMHyoY: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:26:48.024 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1136.5ms begin [] 18:26:48.052 [debug] QUERY OK source="media_items" db=27.0ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 22:25:48Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e65 - Minecraft_-_Shadow_of_Israphel_Part_21_-_Grimjaw_s_Trial.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e65 - Minecraft_-_Shadow_of_Israphel_Part_21_-_Grimjaw_s_Trial.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e65 - Minecraft_-_Shadow_of_Israphel_Part_21_-_Grimjaw_s_Trial.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e65 - Minecraft_-_Shadow_of_Israphel_Part_21_-_Grimjaw_s_Trial-thumb.jpg", ~U[2025-10-27 22:26:48Z], 78] 18:26:48.055 [debug] QUERY OK source="media_metadata" db=3.4ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/78/metadata.json.gz", "/config/metadata/media_items/78/thumbnail.jpg", 78, ~U[2025-10-27 22:26:48Z], ~U[2025-10-27 22:26:48Z]] 18:26:48.128 [debug] QUERY OK db=72.3ms commit [] 18:26:48.205 [debug] QUERY OK source="media_items" db=74.6ms idle=1242.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [171466462, ~U[2025-10-27 22:26:48Z], 78] 18:26:48.207 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:26:48.256 [info] {"args":{"id":78},"id":70,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":328233169,"event":"job:stop","queue_time":13203921652,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:26:48.332 [info] {"args":{"id":79},"id":71,"meta":{},"system_time":1761604008331868720,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:26:48.347 [debug] QUERY OK source="media_items" db=14.6ms queue=0.1ms idle=203.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" = ?) [79] 18:26:48.348 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:26:48.355 [debug] QUERY OK source="sources" db=6.8ms queue=0.1ms idle=143.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:26:48.362 [debug] QUERY OK source="media_profiles" db=6.8ms queue=0.1ms idle=99.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:26:48.368 [debug] QUERY OK source="media_items" db=5.0ms queue=0.1ms idle=101.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 [79] 18:26:48.375 [debug] QUERY OK source="media_metadata" db=3.3ms idle=40.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [79] 18:26:48.380 [debug] QUERY OK source="media_profiles" db=4.1ms queue=0.1ms idle=28.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:26:48.384 [debug] QUERY OK source="settings" db=3.5ms queue=0.1ms idle=25.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:26:48.388 [debug] QUERY OK source="settings" db=4.0ms 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 [] 18:26:48.391 [debug] Running yt-dlp command for action: get_downloadable_status 18:26:48.396 [debug] QUERY OK source="settings" db=3.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 [] 18:26:48.403 [debug] QUERY OK source="settings" db=6.1ms queue=0.1ms idle=21.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:26:48.409 [debug] QUERY OK source="settings" db=5.7ms idle=23.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:26:48.409 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ERUubUJdQVc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/31/95/3195605c5856392b861a06526f61af45dda448cfe4a4be96e9fb4983c9dbe7db.json --sleep-requests 14 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:26:50.667 [info] {"source":"oban","duration":5936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:55.009 [info] GET /sources/1/media/67/edit 18:26:55.010 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "67", "source_id" => "1"} Pipelines: [:browser] 18:26:55.016 [debug] QUERY OK source="media_items" db=6.4ms idle=1121.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" = ?) [67] 18:26:55.020 [debug] QUERY OK source="settings" db=2.9ms idle=1128.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:26:55.025 [debug] QUERY OK source="settings" db=4.3ms queue=0.1ms idle=1131.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:26:55.030 [debug] QUERY OK source="settings" db=3.8ms idle=1137.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:26:55.032 [info] Sent 200 in 22ms 18:27:00.462 [info] {"source":"oban","duration":334,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:27:15.489 [info] GET /sources/2/media/188/force_download 18:27:15.492 [debug] QUERY OK source="settings" db=2.2ms idle=1072.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:27:15.494 [debug] QUERY OK source="settings" db=1.8ms idle=604.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:27:15.495 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:27:15.495 [error] #PID<0.4350.0> running PinchflatWeb.Endpoint (connection #PID<0.4349.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/media/188/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/2/media/188/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4349.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/188/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46434}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaDJnSG1QNmhtUGNEQThrSkFINGhhR0JJ.vu96tzZkJl8EFRHhkjCMRN3yWsdESSif93LF3eKKL7E", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaDJnSG1QNmhtUGNEQThrSkFINGhhR0JJ.vu96tzZkJl8EFRHhkjCMRN3yWsdESSif93LF3eKKL7E" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4350.0>, params: %{}, path_info: ["sources", "2", "media", "188", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaDJnSG1QNmhtUGNEQThrSkFINGhhR0JJ.vu96tzZkJl8EFRHhkjCMRN3yWsdESSif93LF3eKKL7E" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaDJnSG1QNmhtUGNEQThrSkFINGhhR0JJ.vu96tzZkJl8EFRHhkjCMRN3yWsdESSif93LF3eKKL7E"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/2/media/188/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ5iXJF5HEjg4wAAEsB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4349.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/188/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46434}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaDJnSG1QNmhtUGNEQThrSkFINGhhR0JJ.vu96tzZkJl8EFRHhkjCMRN3yWsdESSif93LF3eKKL7E", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/188/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4349.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/188/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46434}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaDJnSG1QNmhtUGNEQThrSkFINGhhR0JJ.vu96tzZkJl8EFRHhkjCMRN3yWsdESSif93LF3eKKL7E", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", (truncated) 18:27:20.672 [info] {"source":"oban","duration":3230,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:31.292 [info] GET /sources/1/media/63/force_download 18:27:31.295 [debug] QUERY OK source="settings" db=2.5ms idle=1403.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:27:31.297 [debug] QUERY OK source="settings" db=2.2ms idle=767.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:27:31.298 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:27:31.298 [error] #PID<0.4354.0> running PinchflatWeb.Endpoint (connection #PID<0.4353.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/63/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/63/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4353.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/63/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 35662}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaDJnSG1QNmhtUGNEQThrSkFINGhhR0JJ.vu96tzZkJl8EFRHhkjCMRN3yWsdESSif93LF3eKKL7E", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaDJnSG1QNmhtUGNEQThrSkFINGhhR0JJ.vu96tzZkJl8EFRHhkjCMRN3yWsdESSif93LF3eKKL7E" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4354.0>, params: %{}, path_info: ["sources", "1", "media", "63", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaDJnSG1QNmhtUGNEQThrSkFINGhhR0JJ.vu96tzZkJl8EFRHhkjCMRN3yWsdESSif93LF3eKKL7E" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaDJnSG1QNmhtUGNEQThrSkFINGhhR0JJ.vu96tzZkJl8EFRHhkjCMRN3yWsdESSif93LF3eKKL7E"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/63/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ5jSAl2KatQQ0AAEtB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4353.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/63/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 35662}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaDJnSG1QNmhtUGNEQThrSkFINGhhR0JJ.vu96tzZkJl8EFRHhkjCMRN3yWsdESSif93LF3eKKL7E", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/63/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4353.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/63/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 35662}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaDJnSG1QNmhtUGNEQThrSkFINGhhR0JJ.vu96tzZkJl8EFRHhkjCMRN3yWsdESSif93LF3eKKL7E", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", (truncated) 18:27:50.678 [info] {"source":"oban","duration":5590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:00.463 [info] {"source":"oban","duration":270,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:28:17.023 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ERUubUJdQVc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/31/95/3195605c5856392b861a06526f61af45dda448cfe4a4be96e9fb4983c9dbe7db.json --sleep-requests 14 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] ERUubUJdQVc: nsig extraction failed: Some formats may be missing n = aOI_v1oUQINs-q8r ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] ERUubUJdQVc: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] ERUubUJdQVc: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:28:17.023 [debug] Running yt-dlp command for action: download 18:28:17.037 [debug] QUERY OK source="settings" db=13.5ms queue=0.1ms idle=1125.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:28:17.041 [debug] QUERY OK source="settings" db=3.2ms idle=1129.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:28:17.045 [debug] QUERY OK source="settings" db=3.3ms queue=0.1ms idle=142.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:28:17.046 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ERUubUJdQVc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e66 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e66 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/31/a1/31a12656b9fba2d2121b28ebcb7caa77cc142569e011488c5da6be42aff50f82.json --sleep-requests 12 --sleep-interval 13 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:28:20.682 [info] {"source":"oban","duration":3649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:29.905 [info] GET /sources/1/media/98 18:28:29.905 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "98", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 18:28:29.909 [debug] QUERY OK source="media_items" db=3.4ms queue=0.3ms idle=1007.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [98] 18:28:29.912 [debug] QUERY OK source="sources" db=2.2ms idle=1011.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:28:29.913 [debug] QUERY OK source="tasks" db=3.3ms idle=1011.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" [98] 18:28:29.917 [debug] QUERY OK source="oban_jobs" db=2.8ms idle=923.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" = ?) [90] 18:28:29.920 [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 [] 18:28:29.922 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=10.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:28:29.927 [debug] QUERY OK source="settings" db=3.5ms idle=10.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:28:29.931 [debug] QUERY OK source="media_profiles" db=3.1ms idle=14.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:28:29.933 [info] Sent 200 in 28ms 18:28:50.687 [info] {"source":"oban","duration":4454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:00.464 [info] {"source":"oban","duration":310,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:29:20.692 [info] {"source":"oban","duration":4744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:35.321 [info] GET /sources/2/media/189/force_download 18:29:35.324 [debug] QUERY OK source="settings" db=2.2ms idle=1419.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:29:35.327 [debug] QUERY OK source="settings" db=2.3ms idle=1421.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:29:35.327 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:29:35.327 [error] #PID<0.4370.0> running PinchflatWeb.Endpoint (connection #PID<0.4369.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/media/189/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/2/media/189/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4369.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/189/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48822}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaDJnSG1QNmhtUGNEQThrSkFINGhhR0JJ.vu96tzZkJl8EFRHhkjCMRN3yWsdESSif93LF3eKKL7E", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaDJnSG1QNmhtUGNEQThrSkFINGhhR0JJ.vu96tzZkJl8EFRHhkjCMRN3yWsdESSif93LF3eKKL7E" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4370.0>, params: %{}, path_info: ["sources", "2", "media", "189", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaDJnSG1QNmhtUGNEQThrSkFINGhhR0JJ.vu96tzZkJl8EFRHhkjCMRN3yWsdESSif93LF3eKKL7E" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaDJnSG1QNmhtUGNEQThrSkFINGhhR0JJ.vu96tzZkJl8EFRHhkjCMRN3yWsdESSif93LF3eKKL7E"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/2/media/189/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ5qgDnEYWpK_UAAEwh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4369.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/189/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48822}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaDJnSG1QNmhtUGNEQThrSkFINGhhR0JJ.vu96tzZkJl8EFRHhkjCMRN3yWsdESSif93LF3eKKL7E", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/189/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4369.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/189/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48822}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYaDJnSG1QNmhtUGNEQThrSkFINGhhR0JJ.vu96tzZkJl8EFRHhkjCMRN3yWsdESSif93LF3eKKL7E", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", (truncated) 18:29:50.697 [info] {"source":"oban","duration":3699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:00.465 [info] {"source":"oban","duration":586,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:30:20.703 [info] {"source":"oban","duration":4941,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:38.852 [info] GET /sources/1/media/68/force_download 18:30:38.855 [debug] QUERY OK source="settings" db=2.5ms idle=949.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:30:38.858 [debug] QUERY OK source="settings" db=2.9ms idle=951.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:30:38.859 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:30:38.860 [error] #PID<0.4377.0> running PinchflatWeb.Endpoint (connection #PID<0.4376.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/68/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/68/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4376.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/68/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41528}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4377.0>, params: %{}, path_info: ["sources", "1", "media", "68", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/68/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ5uMuh8LG_wNwAAEyB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4376.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/68/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41528}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/68/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4376.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/68/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41528}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4377.0>, params: %{}, path_info: ["sources", "1", "media", "68", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 18:30:50.708 [info] {"source":"oban","duration":3804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:00.471 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:31:10.426 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ERUubUJdQVc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e66 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e66 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/31/a1/31a12656b9fba2d2121b28ebcb7caa77cc142569e011488c5da6be42aff50f82.json --sleep-requests 12 --sleep-interval 13 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] ERUubUJdQVc: nsig extraction failed: Some formats may be missing n = 8p1r6NUaiPM1SwEY ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] ERUubUJdQVc: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] ERUubUJdQVc: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:31:10.522 [debug] Running yt-dlp command for action: download_thumbnail 18:31:10.526 [debug] QUERY OK source="settings" db=2.5ms idle=615.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:31:10.529 [debug] QUERY OK source="settings" db=2.4ms idle=618.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:31:10.532 [debug] QUERY OK source="settings" db=2.2ms idle=621.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:31:10.532 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ERUubUJdQVc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/79/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c3/53/c35385bf3d3b009f9e60cd4e6f5b91224a74580db498299fb10705128dad7a0d.json --sleep-requests 12 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:31:20.714 [info] {"source":"oban","duration":4613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:31.499 [info] GET /media/856f4c86-6430-4c9c-942e-99cc1444379b/stream 18:31:31.499 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "856f4c86-6430-4c9c-942e-99cc1444379b", "v" => "1761599910"} Pipelines: [:maybe_basic_auth] 18:31:31.503 [debug] QUERY OK source="media_items" db=3.6ms idle=1590.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["856f4c86-6430-4c9c-942e-99cc1444379b"] 18:31:31.506 [debug] Invalid range request for media item: 856f4c86-6430-4c9c-942e-99cc1444379b - serving full file 18:31:31.507 [info] Sent 200 in 8ms 18:31:50.718 [info] {"source":"oban","duration":3468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:00.473 [info] {"source":"oban","duration":334,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:32:20.722 [info] {"source":"oban","duration":3546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:27.250 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ERUubUJdQVc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/79/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c3/53/c35385bf3d3b009f9e60cd4e6f5b91224a74580db498299fb10705128dad7a0d.json --sleep-requests 12 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] ERUubUJdQVc: nsig extraction failed: Some formats may be missing n = 7yauZrA46Whn8sF9 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] ERUubUJdQVc: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] ERUubUJdQVc: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:32:27.252 [debug] QUERY OK db=0.0ms queue=0.3ms idle=1342.3ms begin [] 18:32:27.288 [debug] QUERY OK source="media_items" db=35.9ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 22:31:10Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e66 - Minecraft_-_Shadow_of_Israphel_Part_22_-_The_Betrayer.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e66 - Minecraft_-_Shadow_of_Israphel_Part_22_-_The_Betrayer.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e66 - Minecraft_-_Shadow_of_Israphel_Part_22_-_The_Betrayer.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e66 - Minecraft_-_Shadow_of_Israphel_Part_22_-_The_Betrayer-thumb.jpg", ~U[2025-10-27 22:32:27Z], 79] 18:32:27.293 [debug] QUERY OK source="media_metadata" db=4.1ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/79/metadata.json.gz", "/config/metadata/media_items/79/thumbnail.jpg", 79, ~U[2025-10-27 22:32:27Z], ~U[2025-10-27 22:32:27Z]] 18:32:27.352 [debug] QUERY OK db=59.1ms commit [] 18:32:27.437 [debug] QUERY OK source="media_items" db=82.5ms idle=1444.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [196447687, ~U[2025-10-27 22:32:27Z], 79] 18:32:27.438 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:32:27.479 [info] {"args":{"id":79},"id":71,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":339107093,"event":"job:stop","queue_time":13532262651,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:32:27.553 [info] {"args":{"id":80},"id":72,"meta":{},"system_time":1761604347553342986,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:32:27.557 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=975.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" = ?) [80] 18:32:27.557 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:32:27.561 [debug] QUERY OK source="sources" db=3.1ms queue=0.1ms idle=204.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:32:27.564 [debug] QUERY OK source="media_profiles" db=3.0ms idle=124.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:32:27.569 [debug] QUERY OK source="media_items" db=4.5ms queue=0.1ms idle=85.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 [80] 18:32:27.575 [debug] QUERY OK source="media_metadata" db=3.9ms idle=18.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [80] 18:32:27.578 [debug] QUERY OK source="media_profiles" db=2.9ms 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] 18:32:27.582 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=18.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:32:27.582 [debug] QUERY OK source="settings" db=0.5ms idle=12.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:32:27.585 [debug] Running yt-dlp command for action: get_downloadable_status 18:32:27.589 [debug] QUERY OK source="settings" db=2.4ms 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 [] 18:32:27.592 [debug] QUERY OK source="settings" db=2.6ms idle=10.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:32:27.594 [debug] QUERY OK source="settings" db=2.4ms 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 [] 18:32:27.595 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GWqy3dPC_jw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b6/db/b6db85eb8e005719023a61eb32d9a286f9224e9390f9f14d623fd65089b8780b.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:32:34.814 [info] GET /sources/1/media/56/force_download 18:32:34.817 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=1904.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:32:34.819 [debug] QUERY OK source="settings" db=2.2ms idle=1907.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:32:34.819 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:32:34.820 [error] #PID<0.4396.0> running PinchflatWeb.Endpoint (connection #PID<0.4395.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/56/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/56/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4395.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/56/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 53094}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4396.0>, params: %{}, path_info: ["sources", "1", "media", "56", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/56/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ508t5Umai4RkAAAUD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4395.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/56/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 53094}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/56/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4395.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/56/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 53094}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4396.0>, params: %{}, path_info: ["sources", "1", "media", "56", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 18:32:50.731 [info] {"source":"oban","duration":8485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:00.474 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:33:20.737 [info] {"source":"oban","duration":5164,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:31.067 [info] GET /sources/1/media/69/force_download 18:33:31.071 [debug] QUERY OK source="settings" db=2.6ms idle=1158.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:33:31.073 [debug] QUERY OK source="settings" db=1.7ms idle=1161.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:33:31.073 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:33:31.073 [error] #PID<0.4400.0> running PinchflatWeb.Endpoint (connection #PID<0.4399.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/69/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/69/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4399.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/69/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 45304}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4400.0>, params: %{}, path_info: ["sources", "1", "media", "69", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/69/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ54OR1JTw0dXIAAE1h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4399.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/69/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 45304}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/69/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4399.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/69/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 45304}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4400.0>, params: %{}, path_info: ["sources", "1", "media", "69", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 18:33:31.684 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GWqy3dPC_jw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b6/db/b6db85eb8e005719023a61eb32d9a286f9224e9390f9f14d623fd65089b8780b.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] GWqy3dPC_jw: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] GWqy3dPC_jw: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] GWqy3dPC_jw: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:33:31.685 [debug] Running yt-dlp command for action: download 18:33:31.689 [debug] QUERY OK source="settings" db=3.4ms idle=1776.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:33:31.692 [debug] QUERY OK source="settings" db=3.0ms idle=1779.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:33:31.696 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=788.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:33:31.696 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GWqy3dPC_jw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e67 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e67 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f9/6f/f96f2fc522d91a24d3bd2dea6754b231b381407e874f27ced5cba608047ced84.json --sleep-requests 13 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:33:50.744 [info] {"source":"oban","duration":5557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:00.475 [info] {"source":"oban","duration":273,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:34:20.749 [info] {"source":"oban","duration":4737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:44.870 [info] GET /sources/2/media/192/force_download 18:34:44.876 [debug] QUERY OK source="settings" db=3.9ms idle=1584.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:34:44.879 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms idle=961.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:34:44.879 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:34:44.880 [error] #PID<0.4409.0> running PinchflatWeb.Endpoint (connection #PID<0.4408.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/media/192/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/2/media/192/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4408.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/192/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51154}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4409.0>, params: %{}, path_info: ["sources", "2", "media", "192", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/2/media/192/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ58hN3MgoR-90AAE3h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4408.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/192/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51154}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/192/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4408.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/192/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51154}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4409.0>, params: %{}, path_info: ["sources", "2", "media", "192", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/ (truncated) 18:34:50.753 [info] {"source":"oban","duration":4098,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:00.476 [info] {"source":"oban","duration":312,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:35:20.760 [info] {"source":"oban","duration":5744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:41.755 [info] GET /sources/1/media/60 18:35:41.755 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "60", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 18:35:41.760 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=1841.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" = ?) [60] 18:35:41.763 [debug] QUERY OK source="sources" db=2.0ms idle=1846.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:35:41.764 [debug] QUERY OK source="tasks" db=3.4ms queue=0.1ms idle=1846.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" [60] 18:35:41.769 [debug] QUERY OK source="oban_jobs" db=3.8ms idle=1167.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" = ?) [52] 18:35:41.772 [debug] QUERY OK source="settings" db=3.0ms queue=0.1ms idle=168.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:35:41.775 [debug] QUERY OK source="settings" db=2.5ms 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 [] 18:35:41.780 [debug] QUERY OK source="settings" db=4.0ms 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 [] 18:35:41.785 [debug] QUERY OK source="media_profiles" db=3.7ms 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] 18:35:41.789 [info] Sent 200 in 33ms 18:35:50.767 [info] {"source":"oban","duration":5716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:00.477 [info] {"source":"oban","duration":250,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:36:20.773 [info] {"source":"oban","duration":5465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:33.377 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GWqy3dPC_jw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e67 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e67 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f9/6f/f96f2fc522d91a24d3bd2dea6754b231b381407e874f27ced5cba608047ced84.json --sleep-requests 13 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] GWqy3dPC_jw: nsig extraction failed: Some formats may be missing n = 5SwfZsQVKIgEatQD ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] GWqy3dPC_jw: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] GWqy3dPC_jw: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:36:33.484 [debug] Running yt-dlp command for action: download_thumbnail 18:36:33.488 [debug] QUERY OK source="settings" db=2.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 [] 18:36:33.491 [debug] QUERY OK source="settings" db=2.6ms idle=1564.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:36:33.493 [debug] QUERY OK source="settings" db=2.1ms idle=1299.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:36:33.493 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GWqy3dPC_jw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/80/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/6d/b7/6db75f70a33ba83f5ef85165d998d140b5d004d76b8beb1b4713491a223ecdf7.json --sleep-requests 14 --sleep-interval 15 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:36:47.800 [info] GET /sources/1/media/62 18:36:47.801 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "62", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 18:36:47.804 [debug] QUERY OK source="media_items" db=3.4ms idle=877.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" = ?) [62] 18:36:47.808 [debug] QUERY OK source="sources" db=2.8ms idle=881.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:36:47.809 [debug] QUERY OK source="tasks" db=4.3ms idle=881.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" [62] 18:36:47.813 [debug] QUERY OK source="oban_jobs" db=2.9ms idle=886.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" = ?) [54] 18:36:47.816 [debug] QUERY OK source="settings" db=2.6ms idle=549.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:36:47.820 [debug] QUERY OK source="settings" db=3.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 [] 18:36:47.823 [debug] QUERY OK source="settings" db=2.3ms 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:36:47.828 [debug] QUERY OK source="media_profiles" db=4.6ms idle=14.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:36:47.833 [info] Sent 200 in 32ms 18:36:50.778 [info] {"source":"oban","duration":3331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:00.478 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:37:20.781 [info] {"source":"oban","duration":3215,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:40.255 [info] GET /sources/1/media/65 18:37:40.255 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "65", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 18:37:40.260 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=1329.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" = ?) [65] 18:37:40.263 [debug] QUERY OK source="sources" db=2.9ms idle=332.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:37:40.266 [debug] QUERY OK source="tasks" db=5.1ms idle=700.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" [65] 18:37:40.270 [debug] QUERY OK source="oban_jobs" db=3.3ms idle=338.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" = ?) [57] 18:37:40.275 [debug] QUERY OK source="settings" db=4.6ms 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 [] 18:37:40.278 [debug] QUERY OK source="settings" db=2.5ms 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 [] 18:37:40.281 [debug] QUERY OK source="settings" db=2.6ms queue=0.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 [] 18:37:40.285 [debug] QUERY OK source="media_profiles" db=2.8ms 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] 18:37:40.289 [info] Sent 200 in 34ms 18:37:50.785 [info] {"source":"oban","duration":3165,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:00.479 [info] {"source":"oban","duration":325,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:38:02.916 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GWqy3dPC_jw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/80/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/6d/b7/6db75f70a33ba83f5ef85165d998d140b5d004d76b8beb1b4713491a223ecdf7.json --sleep-requests 14 --sleep-interval 15 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] GWqy3dPC_jw: nsig extraction failed: Some formats may be missing n = Ia6l3QwfUnAw66QN ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] GWqy3dPC_jw: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] GWqy3dPC_jw: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:38:02.917 [debug] QUERY OK db=0.4ms idle=987.2ms begin [] 18:38:02.950 [debug] QUERY OK source="media_items" db=32.5ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 22:36:33Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e67 - Minecraft_-_Shadow_of_Israphel_Part_23_-_Evidence.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e67 - Minecraft_-_Shadow_of_Israphel_Part_23_-_Evidence.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e67 - Minecraft_-_Shadow_of_Israphel_Part_23_-_Evidence.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e67 - Minecraft_-_Shadow_of_Israphel_Part_23_-_Evidence-thumb.jpg", ~U[2025-10-27 22:38:02Z], 80] 18:38:02.954 [debug] QUERY OK source="media_metadata" db=3.7ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/80/metadata.json.gz", "/config/metadata/media_items/80/thumbnail.jpg", 80, ~U[2025-10-27 22:38:02Z], ~U[2025-10-27 22:38:02Z]] 18:38:03.015 [debug] QUERY OK db=61.3ms commit [] 18:38:03.091 [debug] QUERY OK source="media_items" db=73.9ms idle=1087.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [217216959, ~U[2025-10-27 22:38:03Z], 80] 18:38:03.092 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:38:03.192 [info] {"args":{"id":80},"id":72,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":335539272,"event":"job:stop","queue_time":13871485685,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:38:03.243 [info] {"args":{"id":81},"id":73,"meta":{},"system_time":1761604683243412254,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:38:03.247 [debug] QUERY OK source="media_items" db=3.3ms queue=0.1ms idle=556.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" = ?) [81] 18:38:03.248 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:38:03.251 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=232.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:38:03.256 [debug] QUERY OK source="media_profiles" db=4.2ms idle=161.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:38:03.260 [debug] QUERY OK source="media_items" db=3.8ms idle=64.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 [81] 18:38:03.265 [debug] QUERY OK source="media_metadata" db=2.7ms idle=19.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [81] 18:38:03.268 [debug] QUERY OK source="media_profiles" db=2.9ms idle=17.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:38:03.272 [debug] QUERY OK source="settings" db=3.4ms 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 [] 18:38:03.275 [debug] QUERY OK source="settings" db=2.6ms 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 [] 18:38:03.277 [debug] Running yt-dlp command for action: get_downloadable_status 18:38:03.281 [debug] QUERY OK source="settings" db=2.6ms idle=17.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:38:03.284 [debug] QUERY OK source="settings" db=2.8ms 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 [] 18:38:03.287 [debug] QUERY OK source="settings" db=3.0ms 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 [] 18:38:03.288 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=akWW_2lZTxo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/91/e2/91e27d7c7e498e8b42f01691db70c37775a0f511d97b60f5055e2e1cacd92f5f.json --sleep-requests 14 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:38:20.791 [info] {"source":"oban","duration":4682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:34.981 [info] GET /sources/1/media/67 18:38:34.981 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "67", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 18:38:34.990 [debug] QUERY OK source="media_items" db=8.2ms queue=0.1ms idle=1050.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" = ?) [67] 18:38:35.007 [debug] QUERY OK source="sources" db=13.1ms queue=0.4ms 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] 18:38:35.008 [debug] QUERY OK source="tasks" db=16.9ms queue=0.3ms idle=140.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [67] 18:38:35.015 [debug] QUERY OK source="oban_jobs" db=4.9ms queue=1.5ms idle=77.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" = ?) [59] 18:38:35.020 [debug] QUERY OK source="settings" db=4.2ms queue=0.2ms idle=84.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:38:35.025 [debug] QUERY OK source="settings" db=4.4ms queue=0.2ms 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 [] 18:38:35.031 [debug] QUERY OK source="settings" db=3.9ms queue=0.1ms 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 [] 18:38:35.035 [debug] QUERY OK source="media_profiles" db=2.7ms 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] 18:38:35.038 [info] Sent 200 in 57ms 18:38:50.797 [info] {"source":"oban","duration":6285,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:00.482 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:39:17.378 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=akWW_2lZTxo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/91/e2/91e27d7c7e498e8b42f01691db70c37775a0f511d97b60f5055e2e1cacd92f5f.json --sleep-requests 14 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] akWW_2lZTxo: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] akWW_2lZTxo: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] akWW_2lZTxo: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:39:17.379 [debug] Running yt-dlp command for action: download 18:39:17.383 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms idle=1446.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:39:17.386 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=1134.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:39:17.389 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms idle=454.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:39:17.391 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=akWW_2lZTxo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e68 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e68 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/3d/66/3d66477096d915f0dfcd7fbfdeab8c7cc8f9f4dce38c1dfdb4ce8d3f037f9c2a.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:39:20.818 [info] {"source":"oban","duration":19283,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:26.800 [info] GET /sources/1/media/57 18:39:26.800 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "57", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 18:39:26.815 [debug] QUERY OK source="media_items" db=6.1ms queue=2.0ms idle=1868.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [57] 18:39:26.821 [debug] QUERY OK source="sources" db=4.8ms idle=1277.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:39:26.822 [debug] QUERY OK source="tasks" db=6.1ms idle=1877.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [57] 18:39:26.826 [debug] QUERY OK source="oban_jobs" db=3.6ms idle=884.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" = ?) [49] 18:39:26.847 [debug] QUERY OK source="settings" db=19.0ms queue=0.2ms idle=283.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:39:26.853 [debug] QUERY OK source="settings" db=5.6ms queue=0.2ms idle=31.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:39:26.857 [debug] QUERY OK source="settings" db=2.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 [] 18:39:26.868 [debug] QUERY OK source="media_profiles" db=10.3ms idle=35.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:39:26.873 [info] Sent 200 in 73ms 18:39:50.822 [info] {"source":"oban","duration":3508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:52.594 [info] GET /sources/1/media/62/force_download 18:39:52.597 [debug] QUERY OK source="settings" db=2.7ms idle=843.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:39:52.600 [debug] QUERY OK source="settings" db=2.3ms idle=655.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:39:52.600 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:39:52.601 [error] #PID<0.4464.0> running PinchflatWeb.Endpoint (connection #PID<0.4463.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/62/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/62/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4463.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/62/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 52032}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYzF4Tmp6T1lDTXYtVTgyY3M4R1NVNzJt.c3DcG-tVmhtE0n3eTkanPBgCYg9kWv-XG02EIglX7io", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYzF4Tmp6T1lDTXYtVTgyY3M4R1NVNzJt.c3DcG-tVmhtE0n3eTkanPBgCYg9kWv-XG02EIglX7io" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4464.0>, params: %{}, path_info: ["sources", "1", "media", "62", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYzF4Tmp6T1lDTXYtVTgyY3M4R1NVNzJt.c3DcG-tVmhtE0n3eTkanPBgCYg9kWv-XG02EIglX7io" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYzF4Tmp6T1lDTXYtVTgyY3M4R1NVNzJt.c3DcG-tVmhtE0n3eTkanPBgCYg9kWv-XG02EIglX7io"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/62/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ6Obk5dUIicCAAAADE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4463.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/62/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 52032}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYzF4Tmp6T1lDTXYtVTgyY3M4R1NVNzJt.c3DcG-tVmhtE0n3eTkanPBgCYg9kWv-XG02EIglX7io", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/62/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4463.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/62/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 52032}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYzF4Tmp6T1lDTXYtVTgyY3M4R1NVNzJt.c3DcG-tVmhtE0n3eTkanPBgCYg9kWv-XG02EIglX7io", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", (truncated) 18:40:00.484 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:40:20.826 [info] {"source":"oban","duration":3391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:37.569 [info] GET /sources/1/media/72 18:40:37.570 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "72", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 18:40:37.573 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=1621.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" = ?) [72] 18:40:37.576 [debug] QUERY OK source="sources" db=2.1ms idle=1625.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:40:37.578 [debug] QUERY OK source="tasks" db=3.7ms idle=1625.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" [72] 18:40:37.580 [debug] QUERY OK source="oban_jobs" db=2.2ms idle=1557.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" = ?) [64] 18:40:37.583 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=551.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:37.585 [debug] QUERY OK source="settings" db=1.8ms 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 [] 18:40:37.588 [debug] QUERY OK source="settings" db=2.1ms 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 [] 18:40:37.592 [debug] QUERY OK source="media_profiles" db=2.4ms idle=11.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:40:37.596 [info] Sent 200 in 26ms 18:40:50.830 [info] {"source":"oban","duration":3611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:00.485 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:41:20.835 [info] {"source":"oban","duration":4525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:45.780 [info] GET /sources/1/media/58 18:41:45.780 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "58", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 18:41:45.786 [debug] QUERY OK source="media_items" db=4.8ms idle=1832.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" = ?) [58] 18:41:45.791 [debug] QUERY OK source="sources" db=4.2ms queue=0.2ms idle=1448.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:41:45.791 [debug] QUERY OK source="tasks" db=4.9ms queue=0.2ms idle=1837.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" [58] 18:41:45.795 [debug] QUERY OK source="oban_jobs" db=3.2ms idle=843.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" = ?) [50] 18:41:45.798 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=452.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:41:45.800 [debug] QUERY OK source="settings" db=1.9ms queue=0.1ms 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 [] 18:41:45.803 [debug] QUERY OK source="settings" db=2.3ms 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 [] 18:41:45.807 [debug] QUERY OK source="media_profiles" db=3.2ms idle=12.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:41:45.813 [info] Sent 200 in 32ms 18:41:50.840 [info] {"source":"oban","duration":5192,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:00.486 [info] {"source":"oban","duration":279,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:42:20.850 [info] {"source":"oban","duration":8591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:22.162 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=akWW_2lZTxo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e68 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e68 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/3d/66/3d66477096d915f0dfcd7fbfdeab8c7cc8f9f4dce38c1dfdb4ce8d3f037f9c2a.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] akWW_2lZTxo: nsig extraction failed: Some formats may be missing n = c-d9-yrWiJ0-Ax9Q ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] akWW_2lZTxo: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] akWW_2lZTxo: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:42:22.227 [debug] Running yt-dlp command for action: download_thumbnail 18:42:22.231 [debug] QUERY OK source="settings" db=2.2ms idle=1279.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:42:22.233 [debug] QUERY OK source="settings" db=2.0ms idle=593.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:42:22.235 [debug] QUERY OK source="settings" db=1.9ms idle=284.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:42:22.235 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=akWW_2lZTxo --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/81/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/5d/35/5d35f2ab1c9df3e1b2c9bc9478a3f90c459b0ae29adabc39865c5beb71e31bd8.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:42:43.715 [info] GET /sources/1/media/60/force_download 18:42:43.718 [debug] QUERY OK source="settings" db=2.1ms idle=1767.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:42:43.720 [debug] QUERY OK source="settings" db=1.9ms idle=1769.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:42:43.720 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:42:43.720 [error] #PID<0.4493.0> running PinchflatWeb.Endpoint (connection #PID<0.4492.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/60/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/60/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4492.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/60/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 36324}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYXkydWNYOXRBYmxKX2xPWVB2enFmSEtW.kpcxyg_LmtaDhrpmJwkHfpZ1GklxmHFGQmkRax7ac2M", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYXkydWNYOXRBYmxKX2xPWVB2enFmSEtW.kpcxyg_LmtaDhrpmJwkHfpZ1GklxmHFGQmkRax7ac2M" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4493.0>, params: %{}, path_info: ["sources", "1", "media", "60", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYXkydWNYOXRBYmxKX2xPWVB2enFmSEtW.kpcxyg_LmtaDhrpmJwkHfpZ1GklxmHFGQmkRax7ac2M" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYXkydWNYOXRBYmxKX2xPWVB2enFmSEtW.kpcxyg_LmtaDhrpmJwkHfpZ1GklxmHFGQmkRax7ac2M"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/60/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ6YZDSDGf7QIAAAFCh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4492.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/60/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 36324}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYXkydWNYOXRBYmxKX2xPWVB2enFmSEtW.kpcxyg_LmtaDhrpmJwkHfpZ1GklxmHFGQmkRax7ac2M", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/60/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4492.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/60/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 36324}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYXkydWNYOXRBYmxKX2xPWVB2enFmSEtW.kpcxyg_LmtaDhrpmJwkHfpZ1GklxmHFGQmkRax7ac2M", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", (truncated) 18:42:50.856 [info] {"source":"oban","duration":3348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:00.487 [info] {"source":"oban","duration":302,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:43:20.860 [info] {"source":"oban","duration":3658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:26.949 [info] GET /sources/1/media/96 18:43:26.949 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "96", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 18:43:26.986 [debug] QUERY OK source="media_items" db=36.7ms idle=1001.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [96] 18:43:26.989 [debug] QUERY OK source="sources" db=2.0ms idle=1038.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:43:26.990 [debug] QUERY OK source="tasks" db=2.8ms idle=1038.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" [96] 18:43:26.993 [debug] QUERY OK source="oban_jobs" db=2.4ms idle=1041.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [88] 18:43:26.995 [debug] QUERY OK source="settings" db=2.0ms queue=0.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 [] 18:43:26.998 [debug] QUERY OK source="settings" db=2.2ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:43:27.001 [debug] QUERY OK source="settings" db=2.0ms idle=9.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:43:27.004 [debug] QUERY OK source="media_profiles" db=2.1ms idle=11.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:43:27.005 [info] Sent 200 in 56ms 18:43:50.873 [info] {"source":"oban","duration":11738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:51.013 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=akWW_2lZTxo --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/81/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/5d/35/5d35f2ab1c9df3e1b2c9bc9478a3f90c459b0ae29adabc39865c5beb71e31bd8.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] akWW_2lZTxo: nsig extraction failed: Some formats may be missing n = WfOz_II2ZGZBWtDR ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] akWW_2lZTxo: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] akWW_2lZTxo: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:43:51.014 [debug] QUERY OK db=0.0ms idle=964.5ms begin [] 18:43:51.048 [debug] QUERY OK source="media_items" db=33.9ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 22:42:22Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e68 - Minecraft_-_Shadow_of_Israphel_Part_24_-_The_Fiend.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e68 - Minecraft_-_Shadow_of_Israphel_Part_24_-_The_Fiend.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e68 - Minecraft_-_Shadow_of_Israphel_Part_24_-_The_Fiend.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e68 - Minecraft_-_Shadow_of_Israphel_Part_24_-_The_Fiend-thumb.jpg", ~U[2025-10-27 22:43:51Z], 81] 18:43:51.131 [debug] QUERY OK source="media_metadata" db=82.1ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/81/metadata.json.gz", "/config/metadata/media_items/81/thumbnail.jpg", 81, ~U[2025-10-27 22:43:51Z], ~U[2025-10-27 22:43:51Z]] 18:43:51.619 [debug] QUERY OK db=488.0ms commit [] 18:43:51.844 [debug] QUERY OK source="media_items" db=223.1ms idle=672.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [206104132, ~U[2025-10-27 22:43:51Z], 81] 18:43:51.846 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:43:51.911 [info] {"args":{"id":81},"id":73,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":348602841,"event":"job:stop","queue_time":14207198645,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:43:51.970 [info] {"args":{"id":82},"id":74,"meta":{},"system_time":1761605031970579835,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:43:51.973 [debug] QUERY OK source="media_items" db=2.9ms idle=833.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" = ?) [82] 18:43:51.974 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:43:51.977 [debug] QUERY OK source="sources" db=2.5ms idle=355.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:43:51.980 [debug] QUERY OK source="media_profiles" db=2.7ms idle=133.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:43:51.984 [debug] QUERY OK source="media_items" db=3.2ms idle=69.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 [82] 18:43:51.987 [debug] QUERY OK source="media_metadata" db=2.1ms idle=14.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [82] 18:43:51.990 [debug] QUERY OK source="media_profiles" db=2.2ms idle=13.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:43:51.993 [debug] QUERY OK source="settings" db=2.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 [] 18:43:51.996 [debug] QUERY OK source="settings" db=2.4ms 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 [] 18:43:51.997 [debug] Running yt-dlp command for action: get_downloadable_status 18:43:52.001 [debug] QUERY OK source="settings" db=2.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 [] 18:43:52.003 [debug] QUERY OK source="settings" db=2.5ms 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 [] 18:43:52.006 [debug] QUERY OK source="settings" db=2.8ms idle=13.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:43:52.007 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0X5Q9W4RPpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/87/d8/87d82b0996052fd249750ebf9c338c7c771b99d5fc49bc617081e5a13f3cf968.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:44:00.488 [info] {"source":"oban","duration":263,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:44:20.879 [info] {"source":"oban","duration":4551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:28.707 [info] GET /sources/1/media/64 18:44:28.707 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "64", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 18:44:28.714 [debug] QUERY OK source="media_items" db=6.2ms idle=759.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [64] 18:44:28.722 [debug] QUERY OK source="tasks" db=6.8ms queue=0.1ms idle=766.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" [64] 18:44:28.724 [debug] QUERY OK source="sources" db=8.8ms queue=0.1ms idle=766.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:28.729 [debug] QUERY OK source="oban_jobs" db=4.1ms idle=776.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" = ?) [56] 18:44:28.732 [debug] QUERY OK source="settings" db=2.7ms 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 [] 18:44:28.739 [debug] QUERY OK source="settings" db=6.6ms queue=0.1ms 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 [] 18:44:28.743 [debug] QUERY OK source="settings" db=2.6ms idle=17.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:44:28.746 [debug] QUERY OK source="media_profiles" db=2.0ms idle=19.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:44:28.748 [info] Sent 200 in 41ms 18:44:50.884 [info] {"source":"oban","duration":4770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:00.489 [info] {"source":"oban","duration":1056,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:45:08.060 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0X5Q9W4RPpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/87/d8/87d82b0996052fd249750ebf9c338c7c771b99d5fc49bc617081e5a13f3cf968.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 0X5Q9W4RPpU: nsig extraction failed: Some formats may be missing n = eLA4FoOHPagwg7hD ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 0X5Q9W4RPpU: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 0X5Q9W4RPpU: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:45:08.061 [debug] Running yt-dlp command for action: download 18:45:08.064 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=526.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:45:08.067 [debug] QUERY OK source="settings" db=2.1ms idle=111.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:45:08.069 [debug] QUERY OK source="settings" db=2.2ms idle=113.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:45:08.070 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0X5Q9W4RPpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e69 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e69 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/16/35/163509fdc9a35f0dd714124ee73963c5782762535adb74fe2c0a717d6e4172b7.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:45:20.890 [info] {"source":"oban","duration":4245,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:33.329 [info] GET /sources/1/media/97 18:45:33.329 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "97", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 18:45:33.333 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=1376.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [97] 18:45:33.337 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=1380.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:45:33.338 [debug] QUERY OK source="tasks" db=3.7ms idle=1380.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" [97] 18:45:33.340 [debug] QUERY OK source="oban_jobs" db=2.2ms idle=1384.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" = ?) [89] 18:45:33.343 [debug] QUERY OK source="settings" db=1.9ms queue=0.1ms idle=688.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:45:33.345 [debug] QUERY OK source="settings" db=1.6ms 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 [] 18:45:33.347 [debug] QUERY OK source="settings" db=2.0ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:45:33.350 [debug] QUERY OK source="media_profiles" db=2.0ms idle=10.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:45:33.352 [info] Sent 200 in 23ms 18:45:50.893 [info] {"source":"oban","duration":3163,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:00.491 [info] {"source":"oban","duration":323,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:46:20.174 [info] GET /sources/1/media/98/force_download 18:46:20.177 [debug] QUERY OK source="settings" db=2.4ms idle=1220.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:46:20.179 [debug] QUERY OK source="settings" db=2.2ms idle=1223.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:46:20.179 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:46:20.180 [error] #PID<0.4529.0> running PinchflatWeb.Endpoint (connection #PID<0.4528.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/98/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/98/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4528.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/98/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 53514}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYXkydWNYOXRBYmxKX2xPWVB2enFmSEtW.kpcxyg_LmtaDhrpmJwkHfpZ1GklxmHFGQmkRax7ac2M", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYXkydWNYOXRBYmxKX2xPWVB2enFmSEtW.kpcxyg_LmtaDhrpmJwkHfpZ1GklxmHFGQmkRax7ac2M" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4529.0>, params: %{}, path_info: ["sources", "1", "media", "98", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYXkydWNYOXRBYmxKX2xPWVB2enFmSEtW.kpcxyg_LmtaDhrpmJwkHfpZ1GklxmHFGQmkRax7ac2M" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYXkydWNYOXRBYmxKX2xPWVB2enFmSEtW.kpcxyg_LmtaDhrpmJwkHfpZ1GklxmHFGQmkRax7ac2M"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/98/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ6k_bF1Kh7-GoAAFJB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4528.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/98/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 53514}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYXkydWNYOXRBYmxKX2xPWVB2enFmSEtW.kpcxyg_LmtaDhrpmJwkHfpZ1GklxmHFGQmkRax7ac2M", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/98/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4528.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/98/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 53514}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYXkydWNYOXRBYmxKX2xPWVB2enFmSEtW.kpcxyg_LmtaDhrpmJwkHfpZ1GklxmHFGQmkRax7ac2M", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", (truncated) 18:46:20.899 [info] {"source":"oban","duration":4847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:50.903 [info] {"source":"oban","duration":3077,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:00.492 [info] {"source":"oban","duration":292,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:47:04.660 [info] GET /sources/1/media/65/force_download 18:47:04.663 [debug] QUERY OK source="settings" db=2.8ms idle=706.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04.666 [debug] QUERY OK source="settings" db=2.4ms idle=709.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:04.666 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:47:04.666 [error] #PID<0.4533.0> running PinchflatWeb.Endpoint (connection #PID<0.4532.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/65/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/65/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4532.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/65/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 47838}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4533.0>, params: %{}, path_info: ["sources", "1", "media", "65", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/65/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ6nlJYcEz-x5EAAFKB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4532.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/65/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 47838}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/65/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4532.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/65/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 47838}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4533.0>, params: %{}, path_info: ["sources", "1", "media", "65", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 18:47:20.909 [info] {"source":"oban","duration":5034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:50.914 [info] {"source":"oban","duration":3642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:00.493 [info] {"source":"oban","duration":289,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:48:00.662 [info] GET /sources/1/media/97/force_download 18:48:00.666 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=709.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:00.668 [debug] QUERY OK source="settings" db=2.2ms idle=712.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:00.668 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:48:00.669 [error] #PID<0.4539.0> running PinchflatWeb.Endpoint (connection #PID<0.4538.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/97/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/97/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4538.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/97/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54522}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4539.0>, params: %{}, path_info: ["sources", "1", "media", "97", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/97/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ6q1xdGbY4Z2AAAFLh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4538.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/97/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54522}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/97/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4538.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/97/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54522}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4539.0>, params: %{}, path_info: ["sources", "1", "media", "97", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 18:48:14.103 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0X5Q9W4RPpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e69 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e69 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/16/35/163509fdc9a35f0dd714124ee73963c5782762535adb74fe2c0a717d6e4172b7.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 0X5Q9W4RPpU: nsig extraction failed: Some formats may be missing n = 3Kfb4ZLY7LCitrOi ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 0X5Q9W4RPpU: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 0X5Q9W4RPpU: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:48:14.216 [debug] Running yt-dlp command for action: download_thumbnail 18:48:14.221 [debug] QUERY OK source="settings" db=3.3ms idle=729.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14.224 [debug] QUERY OK source="settings" db=2.2ms idle=263.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14.226 [debug] QUERY OK source="settings" db=2.0ms idle=266.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14.226 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0X5Q9W4RPpU --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/82/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/b6/24/b624bff94a30483ff3168085ade0a581149b4af6e4a4d4f92561662c4a7efee3.json --sleep-requests 14 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:48:20.917 [info] {"source":"oban","duration":3081,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:50.923 [info] {"source":"oban","duration":4914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:00.494 [info] {"source":"oban","duration":277,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:49:10.326 [info] GET /media/44b0cc4a-172d-4c32-8e04-1c62a449d875/stream 18:49:10.326 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "44b0cc4a-172d-4c32-8e04-1c62a449d875", "v" => "1761599910"} Pipelines: [:maybe_basic_auth] 18:49:10.330 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=576.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["44b0cc4a-172d-4c32-8e04-1c62a449d875"] 18:49:10.332 [debug] Invalid range request for media item: 44b0cc4a-172d-4c32-8e04-1c62a449d875 - serving full file 18:49:10.332 [info] Sent 200 in 6ms 18:49:20.928 [info] {"source":"oban","duration":3976,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:43.358 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=0X5Q9W4RPpU --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/82/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/b6/24/b624bff94a30483ff3168085ade0a581149b4af6e4a4d4f92561662c4a7efee3.json --sleep-requests 14 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 0X5Q9W4RPpU: nsig extraction failed: Some formats may be missing n = q6iewrY20B_uRa-V ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 0X5Q9W4RPpU: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 0X5Q9W4RPpU: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:49:43.359 [debug] QUERY OK db=0.1ms idle=1396.0ms begin [] 18:49:43.395 [debug] QUERY OK source="media_items" db=35.0ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 22:48:14Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e69 - Minecraft_-_Shadow_of_Israphel_Part_25_-_Visions.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e69 - Minecraft_-_Shadow_of_Israphel_Part_25_-_Visions.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e69 - Minecraft_-_Shadow_of_Israphel_Part_25_-_Visions.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e69 - Minecraft_-_Shadow_of_Israphel_Part_25_-_Visions-thumb.jpg", ~U[2025-10-27 22:49:43Z], 82] 18:49:43.399 [debug] QUERY OK source="media_metadata" db=3.7ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/82/metadata.json.gz", "/config/metadata/media_items/82/thumbnail.jpg", 82, ~U[2025-10-27 22:49:43Z], ~U[2025-10-27 22:49:43Z]] 18:49:43.476 [debug] QUERY OK db=77.1ms commit [] 18:49:43.555 [debug] QUERY OK source="media_items" db=77.4ms idle=1514.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [213616551, ~U[2025-10-27 22:49:43Z], 82] 18:49:43.557 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:49:43.605 [info] {"args":{"id":82},"id":74,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":351586677,"event":"job:stop","queue_time":14555917712,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:49:43.661 [info] {"args":{"id":83},"id":75,"meta":{},"system_time":1761605383661591629,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:49:43.666 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=752.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" = ?) [83] 18:49:43.666 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:49:43.669 [debug] QUERY OK source="sources" db=2.4ms queue=0.1ms idle=190.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:49:43.673 [debug] QUERY OK source="media_profiles" db=3.1ms queue=0.1ms idle=114.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:49:43.677 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=68.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 [83] 18:49:43.682 [debug] QUERY OK source="media_metadata" db=2.9ms idle=17.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [83] 18:49:43.687 [debug] QUERY OK source="media_profiles" db=4.7ms idle=16.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:49:43.691 [debug] QUERY OK source="settings" db=3.3ms idle=18.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:43.694 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms 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 [] 18:49:43.696 [debug] Running yt-dlp command for action: get_downloadable_status 18:49:43.700 [debug] QUERY OK source="settings" db=2.6ms idle=20.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:43.703 [debug] QUERY OK source="settings" db=2.5ms 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 [] 18:49:43.706 [debug] QUERY OK source="settings" db=2.5ms 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 [] 18:49:43.706 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QNb8QdZ4mGY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d3/85/d385d064fe7a7acdb8ad087df49109752285fd589add85327dccefc8a44d781e.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:49:50.935 [info] {"source":"oban","duration":6039,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:00.495 [info] {"source":"oban","duration":323,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:50:12.554 [info] GET /sources/1/media/72/force_download 18:50:12.557 [debug] QUERY OK source="settings" db=3.0ms queue=0.1ms idle=1591.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:12.560 [debug] QUERY OK source="settings" db=2.8ms idle=1512.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:50:12.561 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:50:12.561 [error] #PID<0.4560.0> running PinchflatWeb.Endpoint (connection #PID<0.4559.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/72/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/72/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4559.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/72/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 36726}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4560.0>, params: %{}, path_info: ["sources", "1", "media", "72", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/72/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ6yhGwlwcPWZMAAFPh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4559.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/72/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 36726}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/72/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4559.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/72/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 36726}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4560.0>, params: %{}, path_info: ["sources", "1", "media", "72", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 18:50:20.940 [info] {"source":"oban","duration":3641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:50.945 [info] {"source":"oban","duration":4935,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:00.496 [info] {"source":"oban","duration":252,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:51:11.438 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QNb8QdZ4mGY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d3/85/d385d064fe7a7acdb8ad087df49109752285fd589add85327dccefc8a44d781e.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] QNb8QdZ4mGY: nsig extraction failed: Some formats may be missing n = hrPXQX-2J871hd1C ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] QNb8QdZ4mGY: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] QNb8QdZ4mGY: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:51:11.439 [debug] Running yt-dlp command for action: download 18:51:11.442 [debug] QUERY OK source="settings" db=3.0ms queue=0.1ms idle=1476.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:11.445 [debug] QUERY OK source="settings" db=2.1ms idle=1480.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:11.447 [debug] QUERY OK source="settings" db=2.2ms idle=1482.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:11.448 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QNb8QdZ4mGY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e70 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e70 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5d/9b/5d9be933176b4607ebe9263a38f1592becadf94004e3accad6fd30c33529584d.json --sleep-requests 11 --sleep-interval 12 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:51:16.652 [info] GET /sources/1/media/57/force_download 18:51:16.656 [debug] QUERY OK source="settings" db=3.3ms queue=0.1ms idle=1689.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16.658 [debug] QUERY OK source="settings" db=2.2ms idle=1693.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:16.658 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:51:16.659 [error] #PID<0.4567.0> running PinchflatWeb.Endpoint (connection #PID<0.4566.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/57/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/57/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4566.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/57/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 50924}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4567.0>, params: %{}, path_info: ["sources", "1", "media", "57", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/57/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ62P46_njm4KQAAFRB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4566.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/57/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 50924}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/57/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4566.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/57/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 50924}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4567.0>, params: %{}, path_info: ["sources", "1", "media", "57", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 18:51:20.950 [info] {"source":"oban","duration":4004,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:50.955 [info] {"source":"oban","duration":3417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:00.497 [info] {"source":"oban","duration":341,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:52:13.082 [info] GET /sources/1/media/96/force_download 18:52:13.085 [debug] QUERY OK source="settings" db=2.5ms idle=1119.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:52:13.087 [debug] QUERY OK source="settings" db=2.0ms idle=1122.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:52:13.087 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:52:13.088 [error] #PID<0.4573.0> running PinchflatWeb.Endpoint (connection #PID<0.4572.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/96/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/96/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4572.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/96/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 38108}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4573.0>, params: %{}, path_info: ["sources", "1", "media", "96", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/96/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ65iG7HTuVzzYAAFSh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4572.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/96/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 38108}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/96/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4572.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/96/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 38108}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4573.0>, params: %{}, path_info: ["sources", "1", "media", "96", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 18:52:20.961 [info] {"source":"oban","duration":5989,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:50.967 [info] {"source":"oban","duration":5272,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:00.498 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:53:20.973 [info] {"source":"oban","duration":4612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:27.975 [info] GET /media/646ec09d-9879-4c60-8d87-ac4fe9ad3334/stream 18:53:27.975 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "646ec09d-9879-4c60-8d87-ac4fe9ad3334", "v" => "1761599910"} Pipelines: [:maybe_basic_auth] 18:53:27.979 [debug] QUERY OK source="media_items" db=3.4ms queue=0.2ms idle=1013.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["646ec09d-9879-4c60-8d87-ac4fe9ad3334"] 18:53:27.981 [debug] Invalid range request for media item: 646ec09d-9879-4c60-8d87-ac4fe9ad3334 - serving full file 18:53:27.981 [info] Sent 200 in 5ms 18:53:49.522 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QNb8QdZ4mGY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e70 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e70 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5d/9b/5d9be933176b4607ebe9263a38f1592becadf94004e3accad6fd30c33529584d.json --sleep-requests 11 --sleep-interval 12 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] QNb8QdZ4mGY: nsig extraction failed: Some formats may be missing n = am4MfD0de-UH5Wfr ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] QNb8QdZ4mGY: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] QNb8QdZ4mGY: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:53:49.673 [debug] Running yt-dlp command for action: download_thumbnail 18:53:49.677 [debug] QUERY OK source="settings" db=2.6ms idle=1709.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:49.680 [debug] QUERY OK source="settings" db=2.5ms idle=1712.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:49.682 [debug] QUERY OK source="settings" db=2.3ms idle=1415.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:53:49.683 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QNb8QdZ4mGY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/83/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/16/34/1634ddeb2b986c0dafb967db13525e6ef5ea9df420632919328ef09f3e0f85b9.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:53:50.977 [info] {"source":"oban","duration":3844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:00.499 [info] {"source":"oban","duration":283,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:54:15.349 [info] GET /sources/1/media/58/force_download 18:54:15.352 [debug] QUERY OK source="settings" db=2.7ms idle=1383.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:15.356 [debug] QUERY OK source="settings" db=3.1ms idle=965.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:54:15.356 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:54:15.357 [error] #PID<0.4589.0> running PinchflatWeb.Endpoint (connection #PID<0.4588.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/58/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/58/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4588.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/58/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 44226}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4589.0>, params: %{}, path_info: ["sources", "1", "media", "58", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/58/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ7ApltU9WGdXwAAFVh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4588.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/58/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 44226}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/58/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4588.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/58/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 44226}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4589.0>, params: %{}, path_info: ["sources", "1", "media", "58", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 18:54:20.981 [info] {"source":"oban","duration":3241,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:50.989 [info] {"source":"oban","duration":5202,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:55:00.500 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:55:07.616 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QNb8QdZ4mGY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/83/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/16/34/1634ddeb2b986c0dafb967db13525e6ef5ea9df420632919328ef09f3e0f85b9.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] QNb8QdZ4mGY: nsig extraction failed: Some formats may be missing n = v8NMgC4t6kttpv0w ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] QNb8QdZ4mGY: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] QNb8QdZ4mGY: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:55:07.622 [debug] QUERY OK db=1.4ms queue=0.2ms idle=1463.9ms begin [] 18:55:07.704 [debug] QUERY OK source="media_items" db=80.4ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 22:53:49Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e70 - Minecraft_-_Shadow_of_Israphel_Part_26_-_The_Mansion.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e70 - Minecraft_-_Shadow_of_Israphel_Part_26_-_The_Mansion.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e70 - Minecraft_-_Shadow_of_Israphel_Part_26_-_The_Mansion.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e70 - Minecraft_-_Shadow_of_Israphel_Part_26_-_The_Mansion-thumb.jpg", ~U[2025-10-27 22:55:07Z], 83] 18:55:07.713 [debug] QUERY OK source="media_metadata" db=9.3ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/83/metadata.json.gz", "/config/metadata/media_items/83/thumbnail.jpg", 83, ~U[2025-10-27 22:55:07Z], ~U[2025-10-27 22:55:07Z]] 18:55:08.106 [debug] QUERY OK db=392.4ms commit [] 18:55:08.423 [debug] QUERY OK source="media_items" db=310.7ms queue=0.4ms idle=1120.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [254190287, ~U[2025-10-27 22:55:08Z], 83] 18:55:08.425 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:55:08.496 [info] {"args":{"id":83},"id":75,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":324764215,"event":"job:stop","queue_time":14907611676,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:55:08.595 [info] {"args":{"id":84},"id":76,"meta":{},"system_time":1761605708594933818,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:55:08.607 [debug] QUERY OK source="media_items" db=11.2ms queue=0.1ms idle=489.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" = ?) [84] 18:55:08.608 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:55:08.616 [debug] QUERY OK source="sources" db=7.5ms queue=0.1ms idle=427.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:55:08.625 [debug] QUERY OK source="media_profiles" db=7.4ms queue=0.6ms idle=193.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:55:08.642 [debug] QUERY OK source="media_items" db=15.9ms queue=0.3ms idle=129.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 [84] 18:55:08.661 [debug] QUERY OK source="media_metadata" db=12.9ms idle=53.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [84] 18:55:08.673 [debug] QUERY OK source="media_profiles" db=11.8ms idle=54.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:55:08.680 [debug] QUERY OK source="settings" db=4.1ms 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 [] 18:55:08.687 [debug] QUERY OK source="settings" db=5.8ms queue=0.1ms idle=56.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:08.699 [debug] Running yt-dlp command for action: get_downloadable_status 18:55:08.717 [debug] QUERY OK source="settings" db=7.2ms idle=67.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:08.724 [debug] QUERY OK source="settings" db=6.0ms idle=56.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:55:08.728 [debug] QUERY OK source="settings" db=4.0ms idle=51.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:08.729 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=trEIINGcOg8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/29/65/2965d9d91ff19642477e5640065958c0fe140eb95054e51e201ce38b5e7c836e.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:55:12.771 [info] GET /sources/1/media/67/force_download 18:55:12.780 [debug] QUERY OK source="settings" db=7.7ms idle=780.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:12.791 [debug] QUERY OK source="settings" db=11.3ms queue=0.1ms idle=788.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:55:12.795 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:55:12.797 [error] #PID<0.4599.0> running PinchflatWeb.Endpoint (connection #PID<0.4598.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/67/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/67/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4598.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/67/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37464}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4599.0>, params: %{}, path_info: ["sources", "1", "media", "67", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/67/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ7D_gNnoyu8ygAAFXB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4598.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/67/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37464}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/67/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4598.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/67/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37464}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4599.0>, params: %{}, path_info: ["sources", "1", "media", "67", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 18:55:21.000 [info] {"source":"oban","duration":9452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:55:51.031 [info] {"source":"oban","duration":29716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:00.502 [info] {"source":"oban","duration":1787,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:56:21.043 [info] {"source":"oban","duration":8475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:26.365 [info] GET /media/5a8a53b6-3226-4623-80c4-57597972220a/stream 18:56:26.366 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "5a8a53b6-3226-4623-80c4-57597972220a", "v" => "1761599910"} Pipelines: [:maybe_basic_auth] 18:56:26.370 [debug] QUERY OK source="media_items" db=3.3ms queue=0.1ms idle=1367.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["5a8a53b6-3226-4623-80c4-57597972220a"] 18:56:26.372 [debug] Invalid range request for media item: 5a8a53b6-3226-4623-80c4-57597972220a - serving full file 18:56:26.372 [info] Sent 200 in 6ms 18:56:39.184 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=trEIINGcOg8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/29/65/2965d9d91ff19642477e5640065958c0fe140eb95054e51e201ce38b5e7c836e.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] trEIINGcOg8: nsig extraction failed: Some formats may be missing n = gmojtRc94n70ZIbr ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] trEIINGcOg8: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] trEIINGcOg8: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 18:56:39.184 [debug] Running yt-dlp command for action: download 18:56:39.190 [debug] QUERY OK source="settings" db=5.6ms idle=1185.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56:39.194 [debug] QUERY OK source="settings" db=3.3ms queue=0.1ms idle=1191.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:56:39.200 [debug] QUERY OK source="settings" db=4.3ms queue=0.8ms idle=1003.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:56:39.205 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=trEIINGcOg8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e71 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e71 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d9/63/d963d07579326b30dbca427f88dd7f4098fc2534a5600331d699309ad7800afa.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:56:51.051 [info] {"source":"oban","duration":6313,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:00.505 [info] {"source":"oban","duration":270,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:57:21.055 [info] {"source":"oban","duration":3591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:35.335 [info] GET /sources/1/media/64/force_download 18:57:35.340 [debug] QUERY OK source="settings" db=2.6ms idle=779.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:57:35.343 [debug] QUERY OK source="settings" db=2.7ms idle=340.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:57:35.343 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:57:35.343 [error] #PID<0.4612.0> running PinchflatWeb.Endpoint (connection #PID<0.4611.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/64/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/64/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/64/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 35972}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4612.0>, params: %{}, path_info: ["sources", "1", "media", "64", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/64/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ7MSl9X4kwurcAAAWD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/64/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 35972}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/64/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4611.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/64/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 35972}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4612.0>, params: %{}, path_info: ["sources", "1", "media", "64", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 18:57:51.059 [info] {"source":"oban","duration":3571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:00.506 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:58:15.669 [info] GET /sources/1/media/92 18:58:15.669 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "92", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 18:58:15.673 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=1669.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" = ?) [92] 18:58:15.677 [debug] QUERY OK source="sources" db=3.5ms idle=674.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:58:15.679 [debug] QUERY OK source="tasks" db=5.4ms queue=0.1ms idle=760.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" [92] 18:58:15.683 [debug] QUERY OK source="oban_jobs" db=2.8ms idle=680.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" = ?) [84] 18:58:15.686 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=684.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:58:15.689 [debug] QUERY OK source="settings" db=2.0ms 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 [] 18:58:15.692 [debug] QUERY OK source="settings" db=2.7ms 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 [] 18:58:15.696 [debug] QUERY OK source="media_profiles" db=2.4ms idle=13.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:58:15.699 [info] Sent 200 in 29ms 18:58:21.065 [info] {"source":"oban","duration":5751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:51.077 [info] {"source":"oban","duration":10798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:00.508 [info] {"source":"oban","duration":460,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:59:21.083 [info] {"source":"oban","duration":4831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:31.338 [info] GET /sources/1/media/95 18:59:31.339 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "95", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 18:59:31.343 [debug] QUERY OK source="media_items" db=3.0ms idle=1339.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" = ?) [95] 18:59:31.346 [debug] QUERY OK source="sources" db=2.4ms idle=871.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:59:31.347 [debug] QUERY OK source="tasks" db=4.0ms idle=343.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" [95] 18:59:31.350 [debug] QUERY OK source="oban_jobs" db=2.7ms idle=348.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [87] 18:59:31.353 [debug] QUERY OK source="settings" db=2.5ms idle=351.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:59:31.356 [debug] QUERY OK source="settings" db=2.2ms 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 [] 18:59:31.359 [debug] QUERY OK source="settings" db=2.5ms idle=11.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:59:31.362 [debug] QUERY OK source="media_profiles" db=1.9ms idle=12.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:59:31.365 [info] Sent 200 in 27ms 18:59:51.089 [info] {"source":"oban","duration":4670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:00:00.511 [info] {"source":"oban","duration":1156,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:00:13.445 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=trEIINGcOg8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e71 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e71 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d9/63/d963d07579326b30dbca427f88dd7f4098fc2534a5600331d699309ad7800afa.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] trEIINGcOg8: nsig extraction failed: Some formats may be missing n = G2lsUGBF4KRSBkE4 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] trEIINGcOg8: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] trEIINGcOg8: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:00:13.532 [debug] Running yt-dlp command for action: download_thumbnail 19:00:13.536 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=1532.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:00:13.539 [debug] QUERY OK source="settings" db=2.1ms idle=667.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:00:13.541 [debug] QUERY OK source="settings" db=2.2ms idle=538.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:00:13.542 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=trEIINGcOg8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/84/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c8/41/c841592291b8a561efc3a71012a4eed23b99622bb7823f8d721479278b94444c.json --sleep-requests 12 --sleep-interval 13 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:00:15.952 [info] GET /sources/1/media/61 19:00:15.952 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "61", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 19:00:15.955 [debug] QUERY OK source="media_items" db=2.5ms idle=951.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" = ?) [61] 19:00:15.958 [debug] QUERY OK source="sources" db=2.3ms idle=955.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:00:15.958 [debug] QUERY OK source="tasks" db=2.8ms idle=955.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" [61] 19:00:15.961 [debug] QUERY OK source="oban_jobs" db=2.5ms idle=958.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [53] 19:00:15.964 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms 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 [] 19:00:15.967 [debug] QUERY OK source="settings" db=2.4ms 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 [] 19:00:15.970 [debug] QUERY OK source="settings" db=2.4ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:00:15.973 [debug] QUERY OK source="media_profiles" db=2.1ms idle=12.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:00:15.976 [info] Sent 200 in 24ms 19:00:21.094 [info] {"source":"oban","duration":4138,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:00:51.099 [info] {"source":"oban","duration":4196,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:00.513 [info] {"source":"oban","duration":228,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:01:12.720 [info] GET /sources/1/media/71 19:01:12.721 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "71", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 19:01:12.724 [debug] QUERY OK source="media_items" db=2.7ms idle=1720.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [71] 19:01:12.726 [debug] QUERY OK source="sources" db=2.0ms idle=1512.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:01:12.728 [debug] QUERY OK source="tasks" db=3.4ms idle=1723.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [71] 19:01:12.731 [debug] QUERY OK source="oban_jobs" db=2.5ms idle=727.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" = ?) [63] 19:01:12.733 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=511.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:01:12.736 [debug] QUERY OK source="settings" db=2.4ms 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 [] 19:01:12.739 [debug] QUERY OK source="settings" db=2.0ms idle=10.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:01:12.742 [debug] QUERY OK source="media_profiles" db=2.1ms idle=11.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:01:12.746 [info] Sent 200 in 25ms 19:01:21.104 [info] {"source":"oban","duration":3487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:30.588 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=trEIINGcOg8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/84/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c8/41/c841592291b8a561efc3a71012a4eed23b99622bb7823f8d721479278b94444c.json --sleep-requests 12 --sleep-interval 13 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] trEIINGcOg8: nsig extraction failed: Some formats may be missing n = bGLhUlj0jgecDkK ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] trEIINGcOg8: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] trEIINGcOg8: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:01:30.590 [debug] QUERY OK db=0.5ms idle=1287.1ms begin [] 19:01:30.629 [debug] QUERY OK source="media_items" db=39.3ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 23:00:13Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e71 - Minecraft_-_Shadow_of_Israphel_Part_27_-_To_Skyhold.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e71 - Minecraft_-_Shadow_of_Israphel_Part_27_-_To_Skyhold.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e71 - Minecraft_-_Shadow_of_Israphel_Part_27_-_To_Skyhold.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e71 - Minecraft_-_Shadow_of_Israphel_Part_27_-_To_Skyhold-thumb.jpg", ~U[2025-10-27 23:01:30Z], 84] 19:01:30.634 [debug] QUERY OK source="media_metadata" db=4.6ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/84/metadata.json.gz", "/config/metadata/media_items/84/thumbnail.jpg", 84, ~U[2025-10-27 23:01:30Z], ~U[2025-10-27 23:01:30Z]] 19:01:30.931 [debug] QUERY OK db=296.0ms commit [] 19:01:31.378 [debug] QUERY OK source="media_items" db=446.0ms idle=931.9ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [284674774, ~U[2025-10-27 23:01:30Z], 84] 19:01:31.381 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:01:31.532 [info] {"args":{"id":84},"id":76,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":382786883,"event":"job:stop","queue_time":15232502753,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:01:31.633 [info] {"args":{"id":85},"id":77,"meta":{},"system_time":1761606091633610962,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:01:31.645 [debug] QUERY OK source="media_items" db=11.2ms idle=703.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" = ?) [85] 19:01:31.646 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:01:31.653 [debug] QUERY OK source="sources" db=5.8ms queue=0.4ms idle=268.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:01:31.671 [debug] QUERY OK source="media_profiles" db=17.1ms queue=0.2ms idle=259.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:01:31.679 [debug] QUERY OK source="media_items" db=7.6ms queue=0.1ms idle=139.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 [85] 19:01:31.685 [debug] QUERY OK source="media_metadata" db=4.2ms queue=0.1ms idle=47.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [85] 19:01:31.688 [debug] QUERY OK source="media_profiles" db=2.9ms idle=40.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:01:31.693 [debug] QUERY OK source="settings" db=3.8ms 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 [] 19:01:31.709 [debug] QUERY OK source="settings" db=15.9ms queue=0.1ms 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 [] 19:01:31.713 [debug] Running yt-dlp command for action: get_downloadable_status 19:01:31.717 [debug] QUERY OK source="settings" db=2.7ms idle=35.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:01:31.720 [debug] QUERY OK source="settings" db=2.9ms 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 [] 19:01:31.725 [debug] QUERY OK source="settings" db=4.4ms queue=0.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 [] 19:01:31.725 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DdS_-XBMsbw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2a/21/2a21f2f2e4772b132b838e31216ff70fc49b6fe6e45740719489768596166959.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:01:51.109 [info] {"source":"oban","duration":4522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:02:00.514 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:02:03.979 [info] GET /sources/1/media/99 19:02:03.979 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "99", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 19:02:03.982 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=1416.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" = ?) [99] 19:02:03.985 [debug] QUERY OK source="sources" db=2.2ms idle=982.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:02:03.986 [debug] QUERY OK source="tasks" db=3.3ms idle=982.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [99] 19:02:03.990 [debug] QUERY OK source="oban_jobs" db=3.0ms idle=986.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" = ?) [91] 19:02:03.992 [debug] QUERY OK source="settings" db=1.9ms idle=423.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:03.995 [debug] QUERY OK source="settings" db=2.4ms 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 [] 19:02:03.997 [debug] QUERY OK source="settings" db=1.7ms 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 [] 19:02:04.001 [debug] QUERY OK source="media_profiles" db=2.5ms idle=11.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:02:04.003 [info] Sent 200 in 24ms 19:02:21.114 [info] {"source":"oban","duration":4661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:02:31.013 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DdS_-XBMsbw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2a/21/2a21f2f2e4772b132b838e31216ff70fc49b6fe6e45740719489768596166959.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] DdS_-XBMsbw: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] DdS_-XBMsbw: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] DdS_-XBMsbw: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:02:31.015 [debug] Running yt-dlp command for action: download 19:02:31.023 [debug] QUERY OK source="settings" db=7.3ms idle=313.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:31.030 [debug] QUERY OK source="settings" db=5.6ms queue=0.1ms idle=11.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:02:31.036 [debug] QUERY OK source="settings" db=5.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 [] 19:02:31.037 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DdS_-XBMsbw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e72 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e72 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/3c/8d/3c8d381d3a26bebf5ac487aefc89ad1de79f1a8a96db326c0df865fae6bfaa0f.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:02:35.537 [info] GET /media/c198f7f3-b864-44cd-bdde-ff1fe3f7f790/stream 19:02:35.537 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "c198f7f3-b864-44cd-bdde-ff1fe3f7f790", "v" => "1761599910"} Pipelines: [:maybe_basic_auth] 19:02:35.542 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=818.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["c198f7f3-b864-44cd-bdde-ff1fe3f7f790"] 19:02:35.545 [debug] Invalid range request for media item: c198f7f3-b864-44cd-bdde-ff1fe3f7f790 - serving full file 19:02:35.545 [info] Sent 200 in 7ms 19:02:51.117 [info] {"source":"oban","duration":3218,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:00.515 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:03:15.034 [info] GET /sources/1/media/70 19:03:15.035 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "70", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 19:03:15.038 [debug] QUERY OK source="media_items" db=2.9ms idle=1019.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" = ?) [70] 19:03:15.041 [debug] QUERY OK source="sources" db=2.1ms queue=0.1ms idle=23.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:03:15.042 [debug] QUERY OK source="tasks" db=3.4ms idle=76.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" [70] 19:03:15.045 [debug] QUERY OK source="oban_jobs" db=2.6ms queue=0.1ms idle=27.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [62] 19:03:15.048 [debug] QUERY OK source="settings" db=2.0ms 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 [] 19:03:15.050 [debug] QUERY OK source="settings" db=2.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 [] 19:03:15.053 [debug] QUERY OK source="settings" db=1.9ms 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 [] 19:03:15.056 [debug] QUERY OK source="media_profiles" db=2.1ms idle=11.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:03:15.060 [info] Sent 200 in 25ms 19:03:21.122 [info] {"source":"oban","duration":3900,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:51.127 [info] {"source":"oban","duration":3762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:51.893 [info] GET /sources/1/media/59 19:03:51.893 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "59", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 19:03:51.896 [debug] QUERY OK source="media_items" db=3.2ms idle=875.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" = ?) [59] 19:03:51.900 [debug] QUERY OK source="sources" db=2.8ms idle=879.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:03:51.901 [debug] QUERY OK source="tasks" db=4.1ms idle=879.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" [59] 19:03:51.905 [debug] QUERY OK source="oban_jobs" db=3.0ms idle=774.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" = ?) [51] 19:03:51.907 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=671.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:51.910 [debug] QUERY OK source="settings" db=1.9ms queue=0.1ms idle=11.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:03:51.913 [debug] QUERY OK source="settings" db=2.2ms 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 [] 19:03:51.916 [debug] QUERY OK source="media_profiles" db=2.3ms 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] 19:03:51.919 [info] Sent 200 in 26ms 19:04:00.515 [info] {"source":"oban","duration":241,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:04:20.801 [info] GET /sources/1/media/93 19:04:20.801 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "93", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 19:04:20.805 [debug] QUERY OK source="media_items" db=3.1ms idle=1783.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" = ?) [93] 19:04:20.808 [debug] QUERY OK source="sources" db=1.9ms idle=1418.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:04:20.810 [debug] QUERY OK source="tasks" db=3.8ms queue=0.1ms idle=1787.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" [93] 19:04:20.813 [debug] QUERY OK source="oban_jobs" db=2.7ms idle=791.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" = ?) [85] 19:04:20.816 [debug] QUERY OK source="settings" db=2.5ms idle=421.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:04:20.819 [debug] QUERY OK source="settings" db=2.4ms 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 [] 19:04:20.821 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms idle=11.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:04:20.825 [debug] QUERY OK source="media_profiles" db=3.0ms idle=12.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:04:20.827 [info] Sent 200 in 25ms 19:04:21.131 [info] {"source":"oban","duration":3234,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:04:51.137 [info] {"source":"oban","duration":5237,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:04:54.978 [info] GET /media/ed6b7932-6d19-4339-b870-99103f30ab73/stream 19:04:54.978 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "ed6b7932-6d19-4339-b870-99103f30ab73", "v" => "1761599910"} Pipelines: [:maybe_basic_auth] 19:04:54.982 [debug] QUERY OK source="media_items" db=3.2ms idle=1959.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["ed6b7932-6d19-4339-b870-99103f30ab73"] 19:04:54.983 [debug] Invalid range request for media item: ed6b7932-6d19-4339-b870-99103f30ab73 - serving full file 19:04:54.983 [info] Sent 200 in 5ms 19:05:00.517 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:05:13.259 [info] GET /sources/1/media/91 19:05:13.260 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "91", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 19:05:13.265 [debug] QUERY OK source="media_items" db=4.1ms queue=0.6ms idle=1228.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" = ?) [91] 19:05:13.270 [debug] QUERY OK source="tasks" db=3.9ms idle=1233.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [91] 19:05:13.271 [debug] QUERY OK source="sources" db=4.1ms idle=1234.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:05:13.280 [debug] QUERY OK source="oban_jobs" db=8.2ms idle=1238.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" = ?) [83] 19:05:13.283 [debug] QUERY OK source="settings" db=2.7ms queue=0.2ms idle=265.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:05:13.291 [debug] QUERY OK source="settings" db=7.1ms 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 [] 19:05:13.295 [debug] QUERY OK source="settings" db=3.6ms queue=0.2ms 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 [] 19:05:13.302 [debug] QUERY OK source="media_profiles" db=4.0ms queue=0.5ms 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] 19:05:13.304 [info] Sent 200 in 45ms 19:05:21.143 [info] {"source":"oban","duration":4633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:31.338 [info] GET /sources/1/media/66 19:05:31.339 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "66", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 19:05:31.362 [debug] QUERY OK source="media_items" db=22.0ms queue=0.3ms idle=306.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" = ?) [66] 19:05:31.382 [debug] QUERY OK source="sources" db=18.5ms idle=330.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:05:31.387 [debug] QUERY OK source="tasks" db=24.6ms queue=0.1ms idle=329.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [66] 19:05:31.401 [debug] QUERY OK source="oban_jobs" db=11.5ms idle=357.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" = ?) [58] 19:05:31.410 [debug] QUERY OK source="settings" db=7.2ms queue=0.2ms idle=286.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:05:31.413 [debug] QUERY OK source="settings" db=3.2ms queue=0.2ms 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 [] 19:05:31.418 [debug] QUERY OK source="settings" db=3.5ms queue=0.1ms idle=32.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:05:31.428 [debug] QUERY OK source="media_profiles" db=8.2ms idle=32.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:05:31.445 [info] Sent 200 in 106ms 19:05:39.645 [info] GET / 19:05:39.647 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 19:05:39.667 [debug] QUERY OK source="settings" db=10.4ms 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 [] 19:05:39.675 [debug] QUERY OK source="media_profiles" db=7.6ms queue=0.1ms idle=633.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 19:05:39.690 [debug] QUERY OK source="sources" db=7.6ms queue=5.3ms idle=643.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 19:05:39.772 [debug] QUERY OK source="media_items" db=81.9ms idle=656.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 19:05:39.784 [debug] QUERY OK source="media_items" db=11.3ms queue=0.1ms idle=621.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 19:05:39.790 [debug] QUERY OK source="settings" db=5.2ms 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 [] 19:05:39.796 [debug] QUERY OK source="settings" db=5.3ms queue=0.1ms idle=115.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:05:39.806 [debug] QUERY OK source="settings" db=9.3ms queue=0.1ms idle=107.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:05:39.826 [debug] QUERY OK source="tasks" db=17.2ms idle=37.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"] 19:05:39.839 [debug] QUERY OK source="media_items" db=10.7ms queue=0.3ms idle=43.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [85] 19:05:39.859 [debug] QUERY OK source="media_items" db=18.6ms idle=50.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)) [] 19:05:39.878 [debug] QUERY OK source="media_items" db=18.0ms queue=0.1ms 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 (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 19:05:39.890 [debug] QUERY OK source="sources" db=11.1ms queue=0.1ms idle=72.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:05:39.935 [debug] QUERY OK source="media_items" db=28.3ms idle=79.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"))) [] 19:05:39.943 [debug] QUERY OK source="media_items" db=7.9ms queue=0.1ms idle=97.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] 19:05:39.957 [debug] QUERY OK source="sources" db=12.0ms queue=0.1ms idle=85.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [1, 2] 19:05:39.964 [info] Sent 200 in 318ms 19:05:40.415 [info] GET /wordpress/ 19:05:40.418 [debug] QUERY OK source="settings" db=2.6ms idle=525.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:05:40.421 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=483.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:05:40.421 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:05:40.422 [error] #PID<0.4713.0> running PinchflatWeb.Endpoint (connection #PID<0.4709.0>, stream id 2) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /wordpress/ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wordpress (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4709.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wordpress/", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37124}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "referer" => "http://pinchflat.home.johnhollowell.com/wordpress/", "user-agent" => "Mozilla/5.0 (Linux; Android 5.1.1; SM-J111F)", "x-forwarded-for" => "35.247.158.104", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "35.247.158.104" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4713.0>, params: %{}, path_info: ["wordpress"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"referer", "http://pinchflat.home.johnhollowell.com/wordpress/"}, {"user-agent", "Mozilla/5.0 (Linux; Android 5.1.1; SM-J111F)"}, {"x-forwarded-for", "35.247.158.104"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "35.247.158.104"} ], request_path: "/wordpress/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ7ohqH1fZg9ZgAAFkB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4709.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wordpress/", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37124}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "referer" => "http://pinchflat.home.johnhollowell.com/wordpress/", "user-agent" => "Mozilla/5.0 (Linux; Android 5.1.1; SM-J111F)", "x-forwarded-for" => "35.247.158.104", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "35.247.158.104" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wordpress (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4709.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wordpress/", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37124}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "referer" => "http://pinchflat.home.johnhollowell.com/wordpress/", "user-agent" => "Mozilla/5.0 (Linux; Android 5.1.1; SM-J111F)", "x-forwarded-for" => "35.247.158.104", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "35.247.158.104" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4713.0>, params: %{}, path_info: ["wordpress"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"referer", "http://pinchflat.home.johnhollowell.com/wordpress/"}, {"user-agent", "Mozilla/5.0 (Linux; Android 5.1.1; SM-J111F)"}, {"x-forwarded-for", (truncated) 19:05:51.155 [info] {"source":"oban","duration":10940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:53.902 [info] GET /sources/1/media/99/force_download 19:05:53.905 [debug] QUERY OK source="settings" db=2.8ms idle=1606.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:05:53.908 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=857.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:05:53.908 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:05:53.909 [error] #PID<0.4715.0> running PinchflatWeb.Endpoint (connection #PID<0.4714.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/99/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/99/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4714.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/99/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54252}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4715.0>, params: %{}, path_info: ["sources", "1", "media", "99", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/99/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ7pT5mZ1wq4XoAAFkh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4714.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/99/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54252}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/99/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4714.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/99/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 54252}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", (truncated) 19:05:58.830 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DdS_-XBMsbw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e72 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e72 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/3c/8d/3c8d381d3a26bebf5ac487aefc89ad1de79f1a8a96db326c0df865fae6bfaa0f.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] DdS_-XBMsbw: nsig extraction failed: Some formats may be missing n = USZHt4JsQCD11NR8 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] DdS_-XBMsbw: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] DdS_-XBMsbw: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:05:58.927 [debug] Running yt-dlp command for action: download_thumbnail 19:05:58.932 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=1881.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:05:58.935 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=1884.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:05:58.939 [debug] QUERY OK source="settings" db=3.4ms idle=1887.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:05:58.940 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DdS_-XBMsbw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/85/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/d2/84/d2849b3f661051b25007b1a6ed99ca1337f53688b5799a9da4404fef8529838c.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:06:00.518 [info] {"source":"oban","duration":336,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:06:11.585 [info] GET /sources/1/media/92/force_download 19:06:11.589 [debug] QUERY OK source="settings" db=3.8ms idle=1537.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:06:11.597 [debug] QUERY OK source="settings" db=7.4ms idle=1541.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:06:11.597 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:06:11.598 [error] #PID<0.4722.0> running PinchflatWeb.Endpoint (connection #PID<0.4721.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/92/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/92/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4721.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/92/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 56330}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4722.0>, params: %{}, path_info: ["sources", "1", "media", "92", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/92/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ7qVxlJIXcolcAAE8C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4721.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/92/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 56330}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/92/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4721.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/92/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 56330}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", (truncated) 19:06:21.159 [info] {"source":"oban","duration":3955,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:51.165 [info] {"source":"oban","duration":4632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:00.519 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:07:18.635 [info] GET /sources/1/media/59/force_download 19:07:18.643 [debug] QUERY OK source="settings" db=7.6ms queue=0.1ms idle=1587.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:07:18.651 [debug] QUERY OK source="settings" db=7.0ms queue=0.1ms idle=1596.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:07:18.651 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:07:18.652 [error] #PID<0.4729.0> running PinchflatWeb.Endpoint (connection #PID<0.4728.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/59/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/59/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4728.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/59/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 33462}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4729.0>, params: %{}, path_info: ["sources", "1", "media", "59", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/59/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ7uPjkE843JUIAAE9C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4728.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/59/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 33462}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/59/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4728.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/59/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 33462}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", (truncated) 19:07:21.169 [info] {"source":"oban","duration":3863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:28.088 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DdS_-XBMsbw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/85/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/d2/84/d2849b3f661051b25007b1a6ed99ca1337f53688b5799a9da4404fef8529838c.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] DdS_-XBMsbw: nsig extraction failed: Some formats may be missing n = HFUvbJdwjvwcICy3 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] DdS_-XBMsbw: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] DdS_-XBMsbw: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:07:28.089 [debug] QUERY OK db=0.0ms idle=1041.2ms begin [] 19:07:28.116 [debug] QUERY OK source="media_items" db=26.4ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 23:05:58Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e72 - Minecraft_-_Shadow_of_Israphel_Part_28_-_Fire_and_Ice.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e72 - Minecraft_-_Shadow_of_Israphel_Part_28_-_Fire_and_Ice.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e72 - Minecraft_-_Shadow_of_Israphel_Part_28_-_Fire_and_Ice.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e72 - Minecraft_-_Shadow_of_Israphel_Part_28_-_Fire_and_Ice-thumb.jpg", ~U[2025-10-27 23:07:28Z], 85] 19:07:28.120 [debug] QUERY OK source="media_metadata" db=3.5ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/85/metadata.json.gz", "/config/metadata/media_items/85/thumbnail.jpg", 85, ~U[2025-10-27 23:07:28Z], ~U[2025-10-27 23:07:28Z]] 19:07:28.205 [debug] QUERY OK db=85.4ms commit [] 19:07:28.312 [debug] QUERY OK source="media_items" db=104.0ms idle=1160.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [198336565, ~U[2025-10-27 23:07:28Z], 85] 19:07:28.314 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:07:28.356 [info] {"args":{"id":85},"id":77,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":356680656,"event":"job:stop","queue_time":15614538682,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:07:28.424 [info] {"args":{"id":86},"id":78,"meta":{},"system_time":1761606448423795851,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:07:28.427 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=376.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" = ?) [86] 19:07:28.428 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:07:28.431 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=222.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:07:28.434 [debug] QUERY OK source="media_profiles" db=3.1ms idle=119.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:07:28.439 [debug] QUERY OK source="media_items" db=3.9ms idle=78.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 [86] 19:07:28.443 [debug] QUERY OK source="media_metadata" db=2.7ms idle=16.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [86] 19:07:28.446 [debug] QUERY OK source="media_profiles" db=2.6ms 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] 19:07:28.449 [debug] QUERY OK source="settings" db=2.2ms 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 [] 19:07:28.451 [debug] QUERY OK source="settings" db=2.3ms 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 [] 19:07:28.453 [debug] Running yt-dlp command for action: get_downloadable_status 19:07:28.457 [debug] QUERY OK source="settings" db=2.4ms idle=15.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:07:28.460 [debug] QUERY OK source="settings" db=2.5ms 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 [] 19:07:28.463 [debug] QUERY OK source="settings" db=3.0ms idle=13.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:07:28.464 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=C1VLzD6UeKc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f9/e2/f9e211a0662d35796421c7269857a4078aea963cfd3cdaf6890c62a8a5caedbb.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:07:51.176 [info] {"source":"oban","duration":5434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:00.520 [info] {"source":"oban","duration":306,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:08:21.129 [info] GET /sources/1/media/70/force_download 19:08:21.133 [debug] QUERY OK source="settings" db=3.8ms idle=1078.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:21.142 [debug] QUERY OK source="settings" db=8.0ms idle=1082.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:21.142 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:08:21.143 [error] #PID<0.4739.0> running PinchflatWeb.Endpoint (connection #PID<0.4738.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/70/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/70/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4738.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/70/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 57278}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4739.0>, params: %{}, path_info: ["sources", "1", "media", "70", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/70/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ7x4XUTCIDO4QAAFnB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4738.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/70/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 57278}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/70/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4738.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/70/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 57278}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYUVdUUHpKU2kydF9DNWJLNllya2xlSjlN.CFVXSFYbpxiu8ThPSZzR3SudOG-6cTwq18vtfKe0Wt0", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", (truncated) 19:08:21.187 [info] {"source":"oban","duration":8017,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:44.862 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=C1VLzD6UeKc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f9/e2/f9e211a0662d35796421c7269857a4078aea963cfd3cdaf6890c62a8a5caedbb.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] C1VLzD6UeKc: nsig extraction failed: Some formats may be missing n = T751iGurLBZ1IQSc ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] C1VLzD6UeKc: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] C1VLzD6UeKc: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:08:44.864 [debug] Running yt-dlp command for action: download 19:08:44.867 [debug] QUERY OK source="settings" db=3.4ms idle=1812.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:44.871 [debug] QUERY OK source="settings" db=3.1ms queue=0.1ms idle=1816.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:44.876 [debug] QUERY OK source="settings" db=4.9ms queue=0.1ms idle=1545.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:44.877 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=C1VLzD6UeKc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e73 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e73 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/40/f0/40f071a50e8567e8f0587013369a835e5b0d5503b14dedf1de6df42b05faa704.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:08:51.196 [info] {"source":"oban","duration":9193,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:58.149 [info] GET /sources/1/media/57 19:08:58.149 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "57", "source_id" => "1"} Pipelines: [:browser] 19:08:58.153 [debug] QUERY OK source="media_items" db=3.2ms idle=1098.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" = ?) [57] 19:08:58.157 [debug] QUERY OK source="tasks" db=3.7ms idle=730.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" [57] 19:08:58.157 [debug] QUERY OK source="sources" db=4.0ms 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] 19:08:58.161 [debug] QUERY OK source="oban_jobs" db=2.9ms idle=106.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" = ?) [49] 19:08:58.164 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms idle=109.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:58.166 [debug] QUERY OK source="settings" db=1.9ms 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 [] 19:08:58.169 [debug] QUERY OK source="settings" db=1.9ms 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 [] 19:08:58.172 [debug] QUERY OK source="media_profiles" db=2.4ms idle=12.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:08:58.176 [info] Sent 200 in 27ms 19:08:58.651 [info] GET /sources/1/media/54 19:08:58.651 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "54", "source_id" => "1"} Pipelines: [:browser] 19:08:58.655 [debug] QUERY OK source="media_items" db=3.2ms idle=488.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" = ?) [54] 19:08:58.658 [debug] QUERY OK source="sources" db=2.2ms queue=0.1ms idle=487.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:08:58.659 [debug] QUERY OK source="tasks" db=3.6ms queue=0.1ms idle=489.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" [54] 19:08:58.662 [debug] QUERY OK source="oban_jobs" db=2.4ms idle=487.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" = ?) [46] 19:08:58.665 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms idle=235.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:58.667 [debug] QUERY OK source="settings" db=2.5ms 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 [] 19:08:58.671 [debug] QUERY OK source="settings" db=2.5ms 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 [] 19:08:58.674 [debug] QUERY OK source="media_profiles" db=2.6ms 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] 19:08:58.677 [info] Sent 200 in 26ms 19:08:59.152 [info] GET /sources/1 19:08:59.153 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 19:08:59.157 [debug] QUERY OK source="sources" db=3.0ms idle=491.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:08:59.160 [debug] QUERY OK source="media_profiles" db=2.5ms queue=0.1ms idle=492.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:08:59.166 [debug] QUERY OK source="tasks" db=5.0ms idle=492.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"] 19:08:59.169 [debug] QUERY OK source="oban_jobs" db=2.8ms idle=495.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [119] 19:08:59.172 [debug] QUERY OK source="settings" db=2.2ms idle=494.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:59.174 [debug] QUERY OK source="settings" db=2.2ms idle=15.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:08:59.177 [debug] QUERY OK source="settings" db=2.4ms 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 [] 19:08:59.182 [debug] QUERY OK source="sources" db=2.6ms idle=13.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:08:59.196 [debug] QUERY OK source="media_items" db=12.9ms idle=14.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] 19:08:59.214 [debug] QUERY OK source="media_items" db=17.2ms queue=0.1ms idle=24.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] 19:08:59.219 [debug] QUERY OK source="sources" db=2.5ms idle=41.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:08:59.223 [debug] QUERY OK source="media_items" db=4.0ms queue=0.1ms idle=41.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 19:08:59.236 [debug] QUERY OK source="media_items" db=12.4ms idle=41.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] 19:08:59.240 [debug] QUERY OK source="sources" db=2.3ms idle=41.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:08:59.244 [debug] QUERY OK source="media_items" db=2.7ms idle=26.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] 19:08:59.257 [debug] QUERY OK source="media_items" db=12.9ms idle=25.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] 19:08:59.258 [info] Sent 200 in 105ms 19:09:00.521 [info] {"source":"oban","duration":303,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:09:21.210 [info] {"source":"oban","duration":12490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:26.118 [info] GET /sources/1/media/95/force_download 19:09:26.121 [debug] QUERY OK source="settings" db=2.2ms idle=1067.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:09:26.124 [debug] QUERY OK source="settings" db=2.1ms idle=1070.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:09:26.124 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:09:26.124 [error] #PID<0.4756.0> running PinchflatWeb.Endpoint (connection #PID<0.4755.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/95/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/95/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4755.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/95/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49394}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4756.0>, params: %{}, path_info: ["sources", "1", "media", "95", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/95/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ71qeDZuaflRsAAFsB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4755.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/95/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49394}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/95/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4755.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/95/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49394}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4756.0>, params: %{}, path_info: ["sources", "1", "media", "95", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 19:09:51.215 [info] {"source":"oban","duration":4302,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:00.522 [info] {"source":"oban","duration":333,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:10:21.219 [info] {"source":"oban","duration":3674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:31.902 [info] GET /sources/1/media/93/force_download 19:10:31.905 [debug] QUERY OK source="settings" db=2.3ms idle=1851.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:10:31.908 [debug] QUERY OK source="settings" db=2.4ms idle=1853.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:10:31.908 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:10:31.909 [error] #PID<0.4763.0> running PinchflatWeb.Endpoint (connection #PID<0.4762.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/93/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/93/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4762.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/93/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42372}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4763.0>, params: %{}, path_info: ["sources", "1", "media", "93", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/93/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ75fiDP89bNTMAAFth"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4762.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/93/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42372}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/93/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4762.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/93/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42372}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4763.0>, params: %{}, path_info: ["sources", "1", "media", "93", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 19:10:51.224 [info] {"source":"oban","duration":4456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:00.523 [info] {"source":"oban","duration":288,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:11:17.236 [info] GET /sources/1/media/71/force_download 19:11:17.239 [debug] QUERY OK source="settings" db=3.1ms queue=0.1ms idle=1183.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:11:17.244 [debug] QUERY OK source="settings" db=4.5ms queue=0.1ms idle=716.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:11:17.245 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:11:17.246 [error] #PID<0.4769.0> running PinchflatWeb.Endpoint (connection #PID<0.4768.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/71/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/71/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4768.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/71/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 39990}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4769.0>, params: %{}, path_info: ["sources", "1", "media", "71", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/71/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ78Iab7zszaawAAFvB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4768.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/71/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 39990}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/71/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4768.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/71/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 39990}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4769.0>, params: %{}, path_info: ["sources", "1", "media", "71", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 19:11:21.228 [info] {"source":"oban","duration":4004,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:42.408 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=C1VLzD6UeKc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e73 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e73 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/40/f0/40f071a50e8567e8f0587013369a835e5b0d5503b14dedf1de6df42b05faa704.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] C1VLzD6UeKc: nsig extraction failed: Some formats may be missing n = 04_ff42GtIe8rW_y ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] C1VLzD6UeKc: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] C1VLzD6UeKc: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:11:42.516 [debug] Running yt-dlp command for action: download_thumbnail 19:11:42.521 [debug] QUERY OK source="settings" db=2.5ms idle=1465.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:11:42.523 [debug] QUERY OK source="settings" db=2.3ms idle=1467.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:11:42.526 [debug] QUERY OK source="settings" db=2.0ms idle=1470.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:11:42.526 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=C1VLzD6UeKc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/86/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/00/df/00df031ce351a7ff0ed88a804804ef2dff48e75abcd9391a9ccee15703a78876.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:11:51.233 [info] {"source":"oban","duration":3929,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:00.524 [info] {"source":"oban","duration":264,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:12:12.529 [info] GET /sources/1/media/98 19:12:12.530 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "98", "source_id" => "1"} Pipelines: [:browser] 19:12:12.533 [debug] QUERY OK source="media_items" db=2.8ms idle=1475.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" = ?) [98] 19:12:12.536 [debug] QUERY OK source="sources" db=2.5ms idle=479.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:12:12.538 [debug] QUERY OK source="tasks" db=4.6ms idle=554.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [98] 19:12:12.541 [debug] QUERY OK source="oban_jobs" db=2.8ms idle=484.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" = ?) [90] 19:12:12.545 [debug] QUERY OK source="settings" db=2.8ms idle=487.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:12:12.548 [debug] QUERY OK source="settings" db=3.4ms 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 [] 19:12:12.552 [debug] QUERY OK source="settings" db=2.8ms 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 [] 19:12:12.556 [debug] QUERY OK source="media_profiles" db=2.8ms 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] 19:12:12.566 [info] Sent 200 in 36ms 19:12:12.837 [info] GET /sources/1/media/96 19:12:12.837 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "96", "source_id" => "1"} Pipelines: [:browser] 19:12:12.841 [debug] QUERY OK source="media_items" db=3.3ms idle=295.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" = ?) [96] 19:12:12.844 [debug] QUERY OK source="sources" db=2.3ms idle=292.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:12:12.845 [debug] QUERY OK source="tasks" db=3.4ms idle=296.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" [96] 19:12:12.848 [debug] QUERY OK source="oban_jobs" db=2.8ms idle=292.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" = ?) [88] 19:12:12.852 [debug] QUERY OK source="settings" db=3.2ms queue=0.4ms idle=292.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:12:12.856 [debug] QUERY OK source="settings" db=3.5ms queue=0.3ms 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 [] 19:12:12.864 [debug] QUERY OK source="settings" db=6.3ms 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 [] 19:12:12.870 [debug] QUERY OK source="media_profiles" db=4.1ms queue=0.4ms 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] 19:12:12.877 [info] Sent 200 in 39ms 19:12:13.340 [info] GET /sources 19:12:13.341 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 19:12:13.344 [debug] QUERY OK source="settings" db=2.6ms idle=488.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:12:13.347 [debug] QUERY OK source="settings" db=2.3ms idle=487.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:12:13.349 [debug] QUERY OK source="settings" db=2.2ms idle=483.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:12:13.352 [debug] QUERY OK source="settings" db=2.1ms idle=480.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:12:13.355 [debug] QUERY OK source="settings" db=2.2ms idle=363.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:12:13.361 [debug] QUERY OK source="sources" db=5.4ms idle=11.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)) [] 19:12:13.367 [debug] QUERY OK source="sources" db=5.9ms queue=0.1ms idle=14.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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] 19:12:13.370 [info] Sent 200 in 29ms 19:12:21.241 [info] {"source":"oban","duration":6622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:29.082 [info] GET /sources/1/media/99 19:12:29.082 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "99", "source_id" => "1"} Pipelines: [:browser] 19:12:29.085 [debug] QUERY OK source="media_items" db=2.4ms queue=0.3ms idle=27.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [99] 19:12:29.088 [debug] QUERY OK source="tasks" db=2.2ms queue=0.1ms idle=31.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" [99] 19:12:29.088 [debug] QUERY OK source="sources" db=2.5ms idle=31.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:12:29.092 [debug] QUERY OK source="oban_jobs" db=2.6ms idle=34.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" = ?) [91] 19:12:29.095 [debug] QUERY OK source="settings" db=2.9ms idle=20.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:12:29.097 [debug] QUERY OK source="settings" db=2.0ms idle=10.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:12:29.100 [debug] QUERY OK source="settings" db=2.4ms 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 [] 19:12:29.103 [debug] QUERY OK source="media_profiles" db=2.0ms queue=0.1ms idle=13.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:12:29.105 [info] Sent 200 in 23ms 19:12:29.464 [info] GET /app_info 19:12:29.464 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 19:12:29.467 [debug] QUERY OK source="settings" db=2.6ms idle=373.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:12:29.470 [debug] QUERY OK source="settings" db=2.4ms idle=372.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:12:29.473 [debug] QUERY OK source="settings" db=2.4ms idle=373.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:12:29.477 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=373.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:12:29.480 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=373.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:12:29.481 [info] Sent 200 in 17ms 19:12:29.964 [info] GET /settings 19:12:29.964 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 19:12:29.967 [debug] QUERY OK source="settings" db=2.5ms idle=497.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:12:29.970 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=497.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:12:29.974 [debug] QUERY OK source="settings" db=3.1ms idle=496.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:12:29.977 [debug] QUERY OK source="settings" db=2.4ms idle=497.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:12:29.979 [info] Sent 200 in 15ms 19:12:32.318 [info] GET /sources/1/media/61/force_download 19:12:32.320 [debug] QUERY OK source="settings" db=2.4ms idle=1263.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:12:32.323 [debug] QUERY OK source="settings" db=2.3ms idle=1266.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:12:32.323 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:12:32.324 [error] #PID<0.4795.0> running PinchflatWeb.Endpoint (connection #PID<0.4788.0>, stream id 4) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/61/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/61/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4788.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/61/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 50416}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4795.0>, params: %{}, path_info: ["sources", "1", "media", "61", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/61/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ8AgHZTvgG2vkAAFzB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4788.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/61/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 50416}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/61/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4788.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/61/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 50416}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.4795.0>, params: %{}, path_info: ["sources", "1", "media", "61", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 19:12:51.245 [info] {"source":"oban","duration":3303,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:53.722 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=C1VLzD6UeKc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/86/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/00/df/00df031ce351a7ff0ed88a804804ef2dff48e75abcd9391a9ccee15703a78876.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] C1VLzD6UeKc: nsig extraction failed: Some formats may be missing n = QSBxQJASXOMkrCuE ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] C1VLzD6UeKc: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] C1VLzD6UeKc: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:12:53.726 [debug] QUERY OK db=0.2ms idle=1450.7ms begin [] 19:12:53.756 [debug] QUERY OK source="media_items" db=29.0ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 23:11:42Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e73 - Minecraft_-_Shadow_of_Israphel_Part_29_-_The_Cage.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e73 - Minecraft_-_Shadow_of_Israphel_Part_29_-_The_Cage.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e73 - Minecraft_-_Shadow_of_Israphel_Part_29_-_The_Cage.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e73 - Minecraft_-_Shadow_of_Israphel_Part_29_-_The_Cage-thumb.jpg", ~U[2025-10-27 23:12:53Z], 86] 19:12:53.767 [debug] QUERY OK source="media_metadata" db=10.2ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/86/metadata.json.gz", "/config/metadata/media_items/86/thumbnail.jpg", 86, ~U[2025-10-27 23:12:53Z], ~U[2025-10-27 23:12:53Z]] 19:12:53.843 [debug] QUERY OK db=75.3ms commit [] 19:12:53.922 [debug] QUERY OK source="media_items" db=76.4ms idle=789.4ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [160642883, ~U[2025-10-27 23:12:53Z], 86] 19:12:53.925 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:12:53.962 [info] {"args":{"id":86},"id":78,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":325501941,"event":"job:stop","queue_time":15971362663,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:12:54.016 [info] {"args":{"id":87},"id":79,"meta":{},"system_time":1761606774016517554,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:12:54.020 [debug] QUERY OK source="media_items" db=3.2ms idle=736.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" = ?) [87] 19:12:54.020 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:12:54.024 [debug] QUERY OK source="sources" db=2.9ms idle=177.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:12:54.027 [debug] QUERY OK source="media_profiles" db=2.5ms idle=101.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:12:54.031 [debug] QUERY OK source="media_items" db=4.0ms idle=65.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] 19:12:54.035 [debug] QUERY OK source="media_metadata" db=2.6ms idle=16.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [87] 19:12:54.038 [debug] QUERY OK source="media_profiles" db=2.7ms 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] 19:12:54.042 [debug] QUERY OK source="settings" db=3.4ms 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 [] 19:12:54.047 [debug] QUERY OK source="settings" db=4.5ms 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 [] 19:12:54.051 [debug] Running yt-dlp command for action: get_downloadable_status 19:12:54.060 [debug] QUERY OK source="settings" db=2.8ms 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 [] 19:12:54.063 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms 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 [] 19:12:54.066 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms 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 [] 19:12:54.067 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xvAqHg1QyVc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fa/28/fa285620c4f2654433e8df89bc8af5ee1bc6b68aa6cf6ae3a2e3f389d8a445a3.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:13:00.525 [info] {"source":"oban","duration":331,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:13:21.250 [info] {"source":"oban","duration":5016,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:36.111 [info] GET /media/c198f7f3-b864-44cd-bdde-ff1fe3f7f790/stream 19:13:36.112 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "c198f7f3-b864-44cd-bdde-ff1fe3f7f790", "v" => "1761597714"} Pipelines: [:maybe_basic_auth] 19:13:36.116 [debug] QUERY OK source="media_items" db=3.5ms idle=1053.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["c198f7f3-b864-44cd-bdde-ff1fe3f7f790"] 19:13:36.118 [debug] Invalid range request for media item: c198f7f3-b864-44cd-bdde-ff1fe3f7f790 - serving full file 19:13:36.119 [info] Sent 200 in 7ms 19:13:51.256 [info] {"source":"oban","duration":5236,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:00.526 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:14:04.304 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xvAqHg1QyVc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fa/28/fa285620c4f2654433e8df89bc8af5ee1bc6b68aa6cf6ae3a2e3f389d8a445a3.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] xvAqHg1QyVc: nsig extraction failed: Some formats may be missing n = PMLX7q7zR1vj58Te ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] xvAqHg1QyVc: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] xvAqHg1QyVc: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:14:04.304 [debug] Running yt-dlp command for action: download 19:14:04.308 [debug] QUERY OK source="settings" db=3.5ms queue=0.2ms idle=638.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:14:04.312 [debug] QUERY OK source="settings" db=3.2ms idle=249.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:14:04.314 [debug] QUERY OK source="settings" db=1.9ms idle=253.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:14:04.314 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xvAqHg1QyVc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e74 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e74 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a1/db/a1db4bc1991e193b3888d49658e479ce5d04982123ed8ffe3ba22fd5ceea33a9.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:14:21.271 [info] {"source":"oban","duration":13598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:34.979 [info] GET /sources/1/media/91/force_download 19:14:34.982 [debug] QUERY OK source="settings" db=2.6ms idle=1162.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:14:34.985 [debug] QUERY OK source="settings" db=3.0ms idle=922.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:14:34.985 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:14:34.987 [error] #PID<0.4811.0> running PinchflatWeb.Endpoint (connection #PID<0.4810.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/91/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/91/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4810.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/91/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 35446}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4811.0>, params: %{}, path_info: ["sources", "1", "media", "91", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/91/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ8HpEF6akTu0IAAF1h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4810.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/91/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 35446}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/91/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4810.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/91/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 35446}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4811.0>, params: %{}, path_info: ["sources", "1", "media", "91", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 19:14:51.276 [info] {"source":"oban","duration":4437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:00.527 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:15:21.280 [info] {"source":"oban","duration":3220,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:39.661 [info] GET /sources/opml.xml 19:15:39.661 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.opml_feed/2 Parameters: %{"route_token" => "f981617a-c3c3-45b8-9b6f-e9fbbba25f94"} Pipelines: [:maybe_basic_auth, :token_protected_route] 19:15:39.667 [debug] QUERY OK source="settings" db=5.5ms queue=0.1ms idle=1595.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:15:39.672 [debug] QUERY OK source="sources" db=3.5ms queue=0.2ms idle=1601.2ms SELECT s0."custom_name", s0."uuid" FROM "sources" AS s0 WHERE (s0."marked_for_deletion_at" IS NULL) ORDER BY s0."custom_name" [] 19:15:39.672 [info] Sent 200 in 11ms 19:15:51.291 [info] {"source":"oban","duration":9423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:00.528 [info] {"source":"oban","duration":286,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:16:06.713 [info] GET /sources/1/media/58 19:16:06.714 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "58", "source_id" => "1"} Pipelines: [:browser] 19:16:06.717 [debug] QUERY OK source="media_items" db=3.1ms idle=1647.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" = ?) [58] 19:16:06.720 [debug] QUERY OK source="sources" db=2.1ms queue=0.1ms idle=1651.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:16:06.721 [debug] QUERY OK source="tasks" db=3.4ms idle=1651.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" [58] 19:16:06.724 [debug] QUERY OK source="oban_jobs" db=3.1ms idle=1376.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" = ?) [50] 19:16:06.727 [debug] QUERY OK source="settings" db=1.9ms queue=0.1ms idle=375.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:16:06.729 [debug] QUERY OK source="settings" db=1.9ms idle=10.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:16:06.732 [debug] QUERY OK source="settings" db=1.8ms 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 [] 19:16:06.735 [debug] QUERY OK source="media_profiles" db=2.3ms 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] 19:16:06.738 [info] Sent 200 in 24ms 19:16:07.116 [info] GET /sources/1/media/97 19:16:07.116 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "97", "source_id" => "1"} Pipelines: [:browser] 19:16:07.124 [debug] QUERY OK source="media_items" db=7.0ms idle=392.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" = ?) [97] 19:16:07.133 [debug] QUERY OK source="sources" db=7.1ms queue=0.3ms idle=396.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:16:07.144 [debug] QUERY OK source="tasks" db=19.3ms queue=0.1ms idle=397.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [97] 19:16:07.158 [debug] QUERY OK source="oban_jobs" db=10.5ms queue=2.3ms idle=413.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" = ?) [89] 19:16:07.172 [debug] QUERY OK source="settings" db=13.1ms queue=0.3ms idle=423.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:16:07.183 [debug] QUERY OK source="settings" db=10.1ms queue=0.4ms 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 [] 19:16:07.195 [debug] QUERY OK source="settings" db=9.7ms queue=0.1ms idle=51.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:16:07.201 [debug] QUERY OK source="media_profiles" db=5.5ms idle=51.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:16:07.204 [info] Sent 200 in 88ms 19:16:07.607 [info] GET /sources/1/media/56 19:16:07.607 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "56", "source_id" => "1"} Pipelines: [:browser] 19:16:07.611 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=435.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" = ?) [56] 19:16:07.619 [debug] QUERY OK source="sources" db=7.2ms idle=417.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:16:07.621 [debug] QUERY OK source="tasks" db=8.8ms queue=0.1ms idle=428.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" [56] 19:16:07.625 [debug] QUERY OK source="oban_jobs" db=3.9ms idle=420.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [48] 19:16:07.631 [debug] QUERY OK source="settings" db=4.9ms queue=0.1ms idle=270.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:16:07.639 [debug] QUERY OK source="settings" db=7.0ms queue=0.1ms idle=20.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:16:07.646 [debug] QUERY OK source="settings" db=6.4ms 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 [] 19:16:07.660 [debug] QUERY OK source="media_profiles" db=12.1ms idle=26.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:16:07.672 [info] Sent 200 in 64ms 19:16:19.791 [info] GET /sources/1/media/59 19:16:19.791 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "59", "source_id" => "1"} Pipelines: [:browser] 19:16:19.795 [debug] QUERY OK source="media_items" db=3.0ms idle=717.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" = ?) [59] 19:16:19.798 [debug] QUERY OK source="tasks" db=2.6ms idle=720.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [59] 19:16:19.798 [debug] QUERY OK source="sources" db=3.1ms idle=720.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:16:19.802 [debug] QUERY OK source="oban_jobs" db=3.6ms queue=0.1ms idle=724.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" = ?) [51] 19:16:19.805 [debug] QUERY OK source="settings" db=2.2ms idle=380.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:16:19.808 [debug] QUERY OK source="settings" db=2.6ms 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 [] 19:16:19.811 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=10.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:16:19.814 [debug] QUERY OK source="media_profiles" db=1.9ms idle=13.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:16:19.960 [info] Sent 200 in 168ms 19:16:20.037 [info] GET /sources/1/media/100 19:16:20.037 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "100", "source_id" => "1"} Pipelines: [:browser] 19:16:20.052 [debug] QUERY OK source="media_items" db=13.5ms queue=0.4ms idle=235.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" = ?) [100] 19:16:20.055 [debug] QUERY OK source="sources" db=2.7ms idle=244.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:16:20.056 [debug] QUERY OK source="tasks" db=3.5ms idle=247.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" [100] 19:16:20.060 [debug] QUERY OK source="oban_jobs" db=3.6ms idle=245.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" = ?) [92] 19:16:20.069 [debug] QUERY OK source="settings" db=8.3ms queue=0.1ms idle=246.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:16:20.078 [debug] QUERY OK source="settings" db=8.1ms queue=0.1ms idle=17.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:16:20.092 [debug] QUERY OK source="settings" db=12.3ms 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 [] 19:16:20.112 [debug] QUERY OK source="media_profiles" db=19.5ms 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] 19:16:20.116 [info] Sent 200 in 78ms 19:16:20.543 [info] GET /sources/1/media/55 19:16:20.544 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "55", "source_id" => "1"} Pipelines: [:browser] 19:16:20.747 [debug] QUERY OK source="media_items" db=202.1ms queue=0.1ms idle=475.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" = ?) [55] 19:16:20.751 [debug] QUERY OK source="sources" db=2.4ms idle=656.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:16:20.752 [debug] QUERY OK source="tasks" db=3.8ms idle=669.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [55] 19:16:20.755 [debug] QUERY OK source="oban_jobs" db=2.7ms idle=639.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" = ?) [47] 19:16:20.758 [debug] QUERY OK source="settings" db=1.9ms idle=328.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:16:20.760 [debug] QUERY OK source="settings" db=2.3ms 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 [] 19:16:20.764 [debug] QUERY OK source="settings" db=2.6ms 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 [] 19:16:20.767 [debug] QUERY OK source="media_profiles" db=2.5ms 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] 19:16:20.771 [info] Sent 200 in 227ms 19:16:21.296 [info] {"source":"oban","duration":4508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:39.045 [info] GET /media_profiles/1 19:16:39.045 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"delete_files" => "true", "id" => "1"} Pipelines: [:browser] 19:16:39.048 [debug] QUERY OK source="media_profiles" db=2.4ms idle=1539.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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] 19:16:39.051 [debug] QUERY OK source="sources" db=2.8ms idle=974.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 19:16:39.054 [debug] QUERY OK source="settings" db=2.3ms idle=977.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:16:39.057 [debug] QUERY OK source="settings" db=2.0ms idle=980.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:16:39.060 [debug] QUERY OK source="settings" db=2.2ms idle=547.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:16:39.062 [info] Sent 200 in 16ms 19:16:51.673 [info] {"source":"oban","duration":376343,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:00.529 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:17:21.722 [info] {"source":"oban","duration":47097,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:35.207 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xvAqHg1QyVc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e74 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e74 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a1/db/a1db4bc1991e193b3888d49658e479ce5d04982123ed8ffe3ba22fd5ceea33a9.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] xvAqHg1QyVc: nsig extraction failed: Some formats may be missing n = SLZQPlhnVA_eDqls ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] xvAqHg1QyVc: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] xvAqHg1QyVc: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:17:35.313 [debug] Running yt-dlp command for action: download_thumbnail 19:17:35.317 [debug] QUERY OK source="settings" db=2.6ms idle=1236.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:17:35.319 [debug] QUERY OK source="settings" db=2.3ms idle=1239.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:17:35.322 [debug] QUERY OK source="settings" db=2.1ms idle=1242.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:17:35.322 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xvAqHg1QyVc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/87/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ef/2e/ef2e13f46063219116b20406a6f8a1ec98b48a42834706fd2a204c53818ef3f5.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:17:36.036 [info] GET /media/646ec09d-9879-4c60-8d87-ac4fe9ad3334/stream 19:17:36.036 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "646ec09d-9879-4c60-8d87-ac4fe9ad3334", "v" => "1761599065"} Pipelines: [:maybe_basic_auth] 19:17:36.046 [debug] QUERY OK source="media_items" db=8.8ms queue=0.1ms idle=959.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["646ec09d-9879-4c60-8d87-ac4fe9ad3334"] 19:17:36.048 [debug] Invalid range request for media item: 646ec09d-9879-4c60-8d87-ac4fe9ad3334 - serving full file 19:17:36.048 [info] Sent 200 in 12ms 19:17:51.725 [info] {"source":"oban","duration":3136,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:00.530 [info] {"source":"oban","duration":310,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:18:18.631 [info] GET /media/85836521-44e4-4819-bdd2-3c049adf1c54/stream 19:18:18.631 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "85836521-44e4-4819-bdd2-3c049adf1c54", "v" => "1761601629"} Pipelines: [:maybe_basic_auth] 19:18:18.636 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=1480.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["85836521-44e4-4819-bdd2-3c049adf1c54"] 19:18:18.637 [debug] Invalid range request for media item: 85836521-44e4-4819-bdd2-3c049adf1c54 - serving full file 19:18:18.637 [info] Sent 200 in 6ms 19:18:21.730 [info] {"source":"oban","duration":3471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:51.734 [info] {"source":"oban","duration":3601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:00.531 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:19:04.579 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xvAqHg1QyVc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/87/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ef/2e/ef2e13f46063219116b20406a6f8a1ec98b48a42834706fd2a204c53818ef3f5.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] xvAqHg1QyVc: nsig extraction failed: Some formats may be missing n = m9kPwEeENRFAXmiH ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] xvAqHg1QyVc: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] xvAqHg1QyVc: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:19:04.580 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1428.5ms begin [] 19:19:04.615 [debug] QUERY OK source="media_items" db=34.0ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 23:17:35Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e74 - Minecraft_-_Shadow_of_Israphel_Part_30_-_Ghost_in_the_Shell.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e74 - Minecraft_-_Shadow_of_Israphel_Part_30_-_Ghost_in_the_Shell.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e74 - Minecraft_-_Shadow_of_Israphel_Part_30_-_Ghost_in_the_Shell.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e74 - Minecraft_-_Shadow_of_Israphel_Part_30_-_Ghost_in_the_Shell-thumb.jpg", ~U[2025-10-27 23:19:04Z], 87] 19:19:04.618 [debug] QUERY OK source="media_metadata" db=3.2ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/87/metadata.json.gz", "/config/metadata/media_items/87/thumbnail.jpg", 87, ~U[2025-10-27 23:19:04Z], ~U[2025-10-27 23:19:04Z]] 19:19:04.681 [debug] QUERY OK db=62.2ms commit [] 19:19:04.759 [debug] QUERY OK source="media_items" db=75.6ms idle=1531.9ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [299784442, ~U[2025-10-27 23:19:04Z], 87] 19:19:04.761 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:19:04.810 [info] {"args":{"id":87},"id":79,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":370745154,"event":"job:stop","queue_time":16296968651,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:19:04.868 [info] {"args":{"id":88},"id":80,"meta":{},"system_time":1761607144868387361,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:19:04.872 [debug] QUERY OK source="media_items" db=3.9ms idle=187.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" = ?) [88] 19:19:04.873 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:19:04.876 [debug] QUERY OK source="sources" db=3.0ms queue=0.1ms idle=187.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:19:04.880 [debug] QUERY OK source="media_profiles" db=2.9ms queue=0.1ms idle=117.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:19:04.884 [debug] QUERY OK source="media_items" db=3.6ms idle=70.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 [88] 19:19:04.894 [debug] QUERY OK source="media_metadata" db=2.2ms idle=24.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [88] 19:19:04.897 [debug] QUERY OK source="media_profiles" db=2.5ms 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] 19:19:04.901 [debug] QUERY OK source="settings" db=2.4ms 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 [] 19:19:04.903 [debug] QUERY OK source="settings" db=2.3ms 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 [] 19:19:04.906 [debug] Running yt-dlp command for action: get_downloadable_status 19:19:04.910 [debug] QUERY OK source="settings" db=2.0ms 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 [] 19:19:04.915 [debug] QUERY OK source="settings" db=5.6ms idle=15.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:19:04.918 [debug] QUERY OK source="settings" db=2.2ms 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 [] 19:19:04.919 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=eB8040-NagE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/44/70/44702e81179603ca423910846e27fe71ae40239bd1b794d46b5ad9a877fcc975.json --sleep-requests 13 --sleep-interval 13 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:19:08.539 [info] GET /media_profiles/2 19:19:08.540 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"delete_files" => "true", "id" => "2"} Pipelines: [:browser] 19:19:08.543 [debug] QUERY OK source="media_profiles" db=2.7ms queue=0.1ms idle=834.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:19:08.547 [debug] QUERY OK source="sources" db=3.4ms idle=391.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 19:19:08.549 [debug] QUERY OK source="settings" db=2.3ms idle=395.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:19:08.552 [debug] QUERY OK source="settings" db=2.2ms idle=398.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:19:08.555 [debug] QUERY OK source="settings" db=2.1ms idle=401.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:19:08.557 [info] Sent 200 in 17ms 19:19:21.739 [info] {"source":"oban","duration":5061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:51.744 [info] {"source":"oban","duration":3746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:57.845 [info] GET /media/898a56ac-4c78-40b8-8a41-1cfbaade4d2b/stream 19:19:57.845 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "898a56ac-4c78-40b8-8a41-1cfbaade4d2b", "v" => "1761599910"} Pipelines: [:maybe_basic_auth] 19:19:57.849 [debug] QUERY OK source="media_items" db=4.1ms idle=1693.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["898a56ac-4c78-40b8-8a41-1cfbaade4d2b"] 19:19:57.850 [debug] Invalid range request for media item: 898a56ac-4c78-40b8-8a41-1cfbaade4d2b - serving full file 19:19:57.850 [info] Sent 200 in 5ms 19:20:00.533 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:20:08.524 [info] GET /media_profiles 19:20:08.524 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 19:20:08.528 [debug] QUERY OK source="media_profiles" db=3.6ms idle=1368.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 19:20:08.531 [debug] QUERY OK source="settings" db=2.1ms idle=1370.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:20:08.533 [debug] QUERY OK source="settings" db=2.2ms idle=373.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:20:08.537 [debug] QUERY OK source="settings" db=2.6ms idle=376.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:20:08.539 [info] Sent 200 in 14ms 19:20:13.987 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=eB8040-NagE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/44/70/44702e81179603ca423910846e27fe71ae40239bd1b794d46b5ad9a877fcc975.json --sleep-requests 13 --sleep-interval 13 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] eB8040-NagE: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] eB8040-NagE: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] eB8040-NagE: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:20:13.988 [debug] Running yt-dlp command for action: download 19:20:13.992 [debug] QUERY OK source="settings" db=3.1ms queue=0.1ms idle=1831.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:20:13.995 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=1835.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:20:13.998 [debug] QUERY OK source="settings" db=2.7ms idle=1839.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:20:13.999 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=eB8040-NagE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e75 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e75 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a5/43/a54332e27e1c8344274e884016c27498fe76ca317aaf485175ac44cfafedc1f2.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:20:21.750 [info] {"source":"oban","duration":5128,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:40.956 [info] GET /media/1ff61763-5095-43cd-b5fe-1bb338fd53ae/stream 19:20:40.956 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "1ff61763-5095-43cd-b5fe-1bb338fd53ae", "v" => "1761601295"} Pipelines: [:maybe_basic_auth] 19:20:40.960 [debug] QUERY OK source="media_items" db=4.0ms idle=1799.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["1ff61763-5095-43cd-b5fe-1bb338fd53ae"] 19:20:40.962 [debug] Invalid range request for media item: 1ff61763-5095-43cd-b5fe-1bb338fd53ae - serving full file 19:20:40.962 [info] Sent 200 in 6ms 19:20:51.755 [info] {"source":"oban","duration":3487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:00.534 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:21:14.889 [info] GET /media/2d47384f-2159-45b3-b6b5-8ab50af370f6/stream 19:21:14.890 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "2d47384f-2159-45b3-b6b5-8ab50af370f6", "v" => "1761601965"} Pipelines: [:maybe_basic_auth] 19:21:14.898 [debug] QUERY OK source="media_items" db=8.3ms idle=1733.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["2d47384f-2159-45b3-b6b5-8ab50af370f6"] 19:21:14.900 [debug] Invalid range request for media item: 2d47384f-2159-45b3-b6b5-8ab50af370f6 - serving full file 19:21:14.900 [info] Sent 200 in 11ms 19:21:21.759 [info] {"source":"oban","duration":3945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:40.875 [info] GET /media/39123f4a-b196-4943-8297-506461d63df7/stream 19:21:40.875 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "39123f4a-b196-4943-8297-506461d63df7", "v" => "1761600558"} Pipelines: [:maybe_basic_auth] 19:21:40.880 [debug] QUERY OK source="media_items" db=4.0ms queue=0.1ms idle=1719.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["39123f4a-b196-4943-8297-506461d63df7"] 19:21:40.881 [debug] Invalid range request for media item: 39123f4a-b196-4943-8297-506461d63df7 - serving full file 19:21:40.881 [info] Sent 200 in 5ms 19:21:51.764 [info] {"source":"oban","duration":3591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:00.535 [info] {"source":"oban","duration":278,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:22:19.583 [info] GET /sources/1/media/66/force_download 19:22:19.590 [debug] QUERY OK source="settings" db=5.8ms idle=1428.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:22:19.593 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=1434.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:22:19.593 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:22:19.594 [error] #PID<0.4902.0> running PinchflatWeb.Endpoint (connection #PID<0.4901.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/66/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/66/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4901.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/66/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 44792}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4902.0>, params: %{}, path_info: ["sources", "1", "media", "66", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/66/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ8ir2ceMvswF4AAGIB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4901.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/66/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 44792}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/66/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4901.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/66/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 44792}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.4902.0>, params: %{}, path_info: ["sources", "1", "media", "66", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 19:22:21.768 [info] {"source":"oban","duration":3406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:52.062 [info] {"source":"oban","duration":293724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:57.172 [info] GET /media/22b9a15f-5e1a-47e9-8ad9-e03640fd4af3/stream 19:22:57.172 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "22b9a15f-5e1a-47e9-8ad9-e03640fd4af3", "v" => "1761600951"} Pipelines: [:maybe_basic_auth] 19:22:57.176 [debug] QUERY OK source="media_items" db=4.0ms idle=10.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["22b9a15f-5e1a-47e9-8ad9-e03640fd4af3"] 19:22:57.177 [debug] Invalid range request for media item: 22b9a15f-5e1a-47e9-8ad9-e03640fd4af3 - serving full file 19:22:57.177 [info] Sent 200 in 5ms 19:23:00.536 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:23:09.271 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=eB8040-NagE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e75 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e75 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a5/43/a54332e27e1c8344274e884016c27498fe76ca317aaf485175ac44cfafedc1f2.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] eB8040-NagE: nsig extraction failed: Some formats may be missing n = EaXxOXybLLJKlrUK ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] eB8040-NagE: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] eB8040-NagE: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:23:09.357 [debug] Running yt-dlp command for action: download_thumbnail 19:23:09.365 [debug] QUERY OK source="settings" db=3.9ms idle=1048.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:23:09.372 [debug] QUERY OK source="settings" db=6.8ms idle=203.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:23:09.379 [debug] QUERY OK source="settings" db=6.0ms idle=211.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:23:09.381 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=eB8040-NagE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/88/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/9d/ea/9dea06fa27258c56a2e460e5df322bd275d1672d3770c0d223dcfbc6622b969e.json --sleep-requests 13 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:23:22.068 [info] {"source":"oban","duration":4531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:51.671 [info] GET /media/555cfa67-ae3f-4900-bfb1-9b0d62cbf895/stream 19:23:51.671 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "555cfa67-ae3f-4900-bfb1-9b0d62cbf895", "v" => "1761598028"} Pipelines: [:maybe_basic_auth] 19:23:51.675 [debug] QUERY OK source="media_items" db=3.3ms queue=0.1ms idle=505.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["555cfa67-ae3f-4900-bfb1-9b0d62cbf895"] 19:23:51.676 [debug] Invalid range request for media item: 555cfa67-ae3f-4900-bfb1-9b0d62cbf895 - serving full file 19:23:51.676 [info] Sent 200 in 5ms 19:23:52.074 [info] {"source":"oban","duration":5816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:00.537 [info] {"source":"oban","duration":335,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:24:22.079 [info] {"source":"oban","duration":3362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:32.430 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=eB8040-NagE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/88/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/9d/ea/9dea06fa27258c56a2e460e5df322bd275d1672d3770c0d223dcfbc6622b969e.json --sleep-requests 13 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] eB8040-NagE: nsig extraction failed: Some formats may be missing n = jh_P6x5p-Hx9TIBS ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] eB8040-NagE: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] eB8040-NagE: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:24:32.430 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1262.7ms begin [] 19:24:32.478 [debug] QUERY OK source="media_items" db=46.9ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 23:23:09Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e75 - Minecraft_-_Shadow_of_Israphel_Part_31_-_Stoneholm.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e75 - Minecraft_-_Shadow_of_Israphel_Part_31_-_Stoneholm.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e75 - Minecraft_-_Shadow_of_Israphel_Part_31_-_Stoneholm.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e75 - Minecraft_-_Shadow_of_Israphel_Part_31_-_Stoneholm-thumb.jpg", ~U[2025-10-27 23:24:32Z], 88] 19:24:32.482 [debug] QUERY OK source="media_metadata" db=3.4ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/88/metadata.json.gz", "/config/metadata/media_items/88/thumbnail.jpg", 88, ~U[2025-10-27 23:24:32Z], ~U[2025-10-27 23:24:32Z]] 19:24:32.555 [debug] QUERY OK db=72.9ms commit [] 19:24:32.630 [debug] QUERY OK source="media_items" db=72.8ms idle=1389.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [238471310, ~U[2025-10-27 23:24:32Z], 88] 19:24:32.631 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:24:32.684 [info] {"args":{"id":88},"id":80,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":327763525,"event":"job:stop","queue_time":16667815651,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:24:32.781 [info] {"args":{"id":89},"id":81,"meta":{},"system_time":1761607472781231087,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:24:32.785 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=950.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" = ?) [89] 19:24:32.785 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:24:32.788 [debug] QUERY OK source="sources" db=2.7ms idle=230.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:24:32.791 [debug] QUERY OK source="media_profiles" db=2.7ms idle=158.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:24:32.796 [debug] QUERY OK source="media_items" db=3.9ms idle=108.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 [89] 19:24:32.801 [debug] QUERY OK source="media_metadata" db=3.4ms idle=16.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [89] 19:24:32.804 [debug] QUERY OK source="media_profiles" db=2.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] 19:24:32.807 [debug] QUERY OK source="settings" db=2.2ms idle=16.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:24:32.809 [debug] QUERY OK source="settings" db=2.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 [] 19:24:32.811 [debug] Running yt-dlp command for action: get_downloadable_status 19:24:32.815 [debug] QUERY OK source="settings" db=2.4ms 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 [] 19:24:32.817 [debug] QUERY OK source="settings" db=2.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 [] 19:24:32.820 [debug] QUERY OK source="settings" db=2.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 [] 19:24:32.821 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7jajzWpVpJ8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/28/f8/28f8bc466d32dda427dc5054b2d6eda1586782e940a9287cf4ab3747bbc042bb.json --sleep-requests 15 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:24:52.084 [info] {"source":"oban","duration":4445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:00.538 [info] {"source":"oban","duration":315,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:25:02.865 [info] GET /media/898a56ac-4c78-40b8-8a41-1cfbaade4d2b/stream 19:25:02.865 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "898a56ac-4c78-40b8-8a41-1cfbaade4d2b", "v" => "1761597380"} Pipelines: [:maybe_basic_auth] 19:25:02.871 [debug] QUERY OK source="media_items" db=4.7ms idle=1698.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["898a56ac-4c78-40b8-8a41-1cfbaade4d2b"] 19:25:02.875 [debug] Invalid range request for media item: 898a56ac-4c78-40b8-8a41-1cfbaade4d2b - serving full file 19:25:02.875 [info] Sent 200 in 10ms 19:25:22.091 [info] {"source":"oban","duration":5325,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:52.096 [info] {"source":"oban","duration":5227,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:00.117 [info] GET /media/dfa4ee36-5ab7-4633-9dc5-0d6b23e302cc/stream 19:26:00.118 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "dfa4ee36-5ab7-4633-9dc5-0d6b23e302cc", "v" => "1761596397"} Pipelines: [:maybe_basic_auth] 19:26:00.123 [debug] QUERY OK source="media_items" db=4.7ms queue=0.1ms idle=1939.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["dfa4ee36-5ab7-4633-9dc5-0d6b23e302cc"] 19:26:00.127 [debug] Invalid range request for media item: dfa4ee36-5ab7-4633-9dc5-0d6b23e302cc - serving full file 19:26:00.127 [info] Sent 200 in 9ms 19:26:00.539 [info] {"source":"oban","duration":316,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:26:07.264 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7jajzWpVpJ8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/28/f8/28f8bc466d32dda427dc5054b2d6eda1586782e940a9287cf4ab3747bbc042bb.json --sleep-requests 15 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 7jajzWpVpJ8: nsig extraction failed: Some formats may be missing n = qI8COe30jQMGgI0f ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 7jajzWpVpJ8: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 7jajzWpVpJ8: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:26:07.267 [debug] Running yt-dlp command for action: download 19:26:07.271 [debug] QUERY OK source="settings" db=3.6ms idle=1027.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:26:07.275 [debug] QUERY OK source="settings" db=3.5ms idle=1031.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:26:07.294 [debug] QUERY OK source="settings" db=18.5ms queue=0.1ms idle=1034.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:26:07.295 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7jajzWpVpJ8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e76 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e76 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c6/86/c68651db0eebaf74a35eeca084d2f4146355e2664b6681392de80b6e5683e5f4.json --sleep-requests 12 --sleep-interval 13 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:26:22.102 [info] {"source":"oban","duration":4420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:52.106 [info] {"source":"oban","duration":3764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:55.411 [info] GET /media/555cfa67-ae3f-4900-bfb1-9b0d62cbf895/stream 19:26:55.411 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "555cfa67-ae3f-4900-bfb1-9b0d62cbf895", "v" => "1761599910"} Pipelines: [:maybe_basic_auth] 19:26:55.414 [debug] QUERY OK source="media_items" db=2.5ms idle=570.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["555cfa67-ae3f-4900-bfb1-9b0d62cbf895"] 19:26:55.414 [debug] Invalid range request for media item: 555cfa67-ae3f-4900-bfb1-9b0d62cbf895 - serving full file 19:26:55.414 [info] Sent 200 in 3ms 19:27:00.540 [info] {"source":"oban","duration":349,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:27:22.111 [info] {"source":"oban","duration":4058,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:48.279 [info] GET /media/29e32fb1-1886-450c-b6b9-c9d5a4b0b82f/stream 19:27:48.279 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "29e32fb1-1886-450c-b6b9-c9d5a4b0b82f", "v" => "1761599911"} Pipelines: [:maybe_basic_auth] 19:27:48.283 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=1033.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["29e32fb1-1886-450c-b6b9-c9d5a4b0b82f"] 19:27:48.284 [debug] Invalid range request for media item: 29e32fb1-1886-450c-b6b9-c9d5a4b0b82f - serving full file 19:27:48.284 [info] Sent 200 in 5ms 19:27:52.118 [info] {"source":"oban","duration":5592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:00.541 [info] {"source":"oban","duration":297,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:28:15.491 [info] GET /media/dfa4ee36-5ab7-4633-9dc5-0d6b23e302cc/stream 19:28:15.491 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "dfa4ee36-5ab7-4633-9dc5-0d6b23e302cc", "v" => "1761599910"} Pipelines: [:maybe_basic_auth] 19:28:15.495 [debug] QUERY OK source="media_items" db=3.5ms idle=1244.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["dfa4ee36-5ab7-4633-9dc5-0d6b23e302cc"] 19:28:15.495 [debug] Invalid range request for media item: dfa4ee36-5ab7-4633-9dc5-0d6b23e302cc - serving full file 19:28:15.496 [info] Sent 200 in 4ms 19:28:22.131 [info] {"source":"oban","duration":12974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:52.138 [info] {"source":"oban","duration":5816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:00.542 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:29:22.144 [info] {"source":"oban","duration":4368,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:26.746 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7jajzWpVpJ8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e76 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e76 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c6/86/c68651db0eebaf74a35eeca084d2f4146355e2664b6681392de80b6e5683e5f4.json --sleep-requests 12 --sleep-interval 13 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 7jajzWpVpJ8: nsig extraction failed: Some formats may be missing n = DigeKdmcuWVBcAAj ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 7jajzWpVpJ8: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 7jajzWpVpJ8: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:29:26.864 [debug] Running yt-dlp command for action: download_thumbnail 19:29:26.868 [debug] QUERY OK source="settings" db=2.4ms idle=1591.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:29:26.871 [debug] QUERY OK source="settings" db=2.4ms idle=1594.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:29:26.874 [debug] QUERY OK source="settings" db=2.3ms idle=1597.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:29:26.875 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7jajzWpVpJ8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/89/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/60/2b/602b08c92e482c145f2fb7444c5287e18e47581e97a25576978c3d8f654710e2.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:29:45.465 [info] GET /media/506e7c3f-d9ff-4ee1-9d4e-3dbcab6d0433/stream 19:29:45.465 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "506e7c3f-d9ff-4ee1-9d4e-3dbcab6d0433", "v" => "1761600163"} Pipelines: [:maybe_basic_auth] 19:29:45.469 [debug] QUERY OK source="media_items" db=3.6ms queue=0.1ms idle=1190.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["506e7c3f-d9ff-4ee1-9d4e-3dbcab6d0433"] 19:29:45.471 [debug] Invalid range request for media item: 506e7c3f-d9ff-4ee1-9d4e-3dbcab6d0433 - serving full file 19:29:45.471 [info] Sent 200 in 6ms 19:29:52.149 [info] {"source":"oban","duration":3606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:00.543 [info] {"source":"oban","duration":304,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:30:11.190 [info] GET /media/e5dad0dc-e9fb-470d-afb5-b86e9d8f6da6/stream 19:30:11.190 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "e5dad0dc-e9fb-470d-afb5-b86e9d8f6da6", "v" => "1761597067"} Pipelines: [:maybe_basic_auth] 19:30:11.202 [debug] QUERY OK source="media_items" db=11.2ms idle=1914.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["e5dad0dc-e9fb-470d-afb5-b86e9d8f6da6"] 19:30:11.208 [debug] Invalid range request for media item: e5dad0dc-e9fb-470d-afb5-b86e9d8f6da6 - serving full file 19:30:11.209 [info] Sent 200 in 18ms 19:30:22.152 [info] {"source":"oban","duration":3276,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:50.380 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7jajzWpVpJ8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/89/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/60/2b/602b08c92e482c145f2fb7444c5287e18e47581e97a25576978c3d8f654710e2.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 7jajzWpVpJ8: nsig extraction failed: Some formats may be missing n = STPYnE-TvxejYDSy ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 7jajzWpVpJ8: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 7jajzWpVpJ8: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:30:50.381 [debug] QUERY OK db=0.1ms idle=1021.6ms begin [] 19:30:50.404 [debug] QUERY OK source="media_items" db=22.4ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 23:29:26Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e76 - Minecraft_-_Shadow_of_Israphel_Part_32_-_Beer_and_Lava.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e76 - Minecraft_-_Shadow_of_Israphel_Part_32_-_Beer_and_Lava.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e76 - Minecraft_-_Shadow_of_Israphel_Part_32_-_Beer_and_Lava.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e76 - Minecraft_-_Shadow_of_Israphel_Part_32_-_Beer_and_Lava-thumb.jpg", ~U[2025-10-27 23:30:50Z], 89] 19:30:50.436 [debug] QUERY OK source="media_metadata" db=31.7ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/89/metadata.json.gz", "/config/metadata/media_items/89/thumbnail.jpg", 89, ~U[2025-10-27 23:30:50Z], ~U[2025-10-27 23:30:50Z]] 19:30:50.533 [debug] QUERY OK db=97.0ms commit [] 19:30:50.645 [debug] QUERY OK source="media_items" db=109.3ms idle=1176.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [248480333, ~U[2025-10-27 23:30:50Z], 89] 19:30:50.651 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:30:50.716 [info] {"args":{"id":89},"id":81,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":377870678,"event":"job:stop","queue_time":16995690009,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:30:50.788 [info] {"args":{"id":90},"id":82,"meta":{},"system_time":1761607850788667510,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:30:50.792 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=429.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" = ?) [90] 19:30:50.792 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:30:50.801 [debug] QUERY OK source="sources" db=8.1ms queue=0.2ms idle=259.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:30:50.807 [debug] QUERY OK source="media_profiles" db=5.1ms queue=0.1ms idle=156.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:30:50.814 [debug] QUERY OK source="media_items" db=6.6ms queue=0.2ms idle=91.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 [90] 19:30:50.833 [debug] QUERY OK source="media_metadata" db=10.4ms idle=34.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [90] 19:30:50.840 [debug] QUERY OK source="media_profiles" db=6.6ms 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] 19:30:50.860 [debug] QUERY OK source="settings" db=19.1ms queue=0.1ms idle=39.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:30:50.864 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms idle=53.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:30:50.866 [debug] Running yt-dlp command for action: get_downloadable_status 19:30:50.872 [debug] QUERY OK source="settings" db=3.6ms 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 [] 19:30:50.877 [debug] QUERY OK source="settings" db=4.8ms 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 [] 19:30:50.882 [debug] QUERY OK source="settings" db=4.2ms queue=0.2ms idle=37.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:30:50.883 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=bNt-vUkFO1w --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/37/ea/37eabfa6eee9cc6b52beb4a90e26c52291a9e4ae20e07e193c8910d20cf7c9c0.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:30:52.158 [info] {"source":"oban","duration":4871,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:52.917 [info] GET /media/e5dad0dc-e9fb-470d-afb5-b86e9d8f6da6/stream 19:30:52.917 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "e5dad0dc-e9fb-470d-afb5-b86e9d8f6da6", "v" => "1761599910"} Pipelines: [:maybe_basic_auth] 19:30:52.922 [debug] QUERY OK source="media_items" db=4.2ms idle=975.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["e5dad0dc-e9fb-470d-afb5-b86e9d8f6da6"] 19:30:52.923 [debug] Invalid range request for media item: e5dad0dc-e9fb-470d-afb5-b86e9d8f6da6 - serving full file 19:30:52.923 [info] Sent 200 in 5ms 19:31:00.544 [info] {"source":"oban","duration":291,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:31:22.165 [info] {"source":"oban","duration":5659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:52.178 [info] {"source":"oban","duration":12466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:00.545 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:32:20.627 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=bNt-vUkFO1w --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/37/ea/37eabfa6eee9cc6b52beb4a90e26c52291a9e4ae20e07e193c8910d20cf7c9c0.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] bNt-vUkFO1w: nsig extraction failed: Some formats may be missing n = cZ5d03pDSdoAP7FM ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] bNt-vUkFO1w: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] bNt-vUkFO1w: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:32:20.628 [debug] Running yt-dlp command for action: download 19:32:20.633 [debug] QUERY OK source="settings" db=4.5ms idle=1264.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:32:20.639 [debug] QUERY OK source="settings" db=5.1ms queue=0.1ms idle=950.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:32:20.644 [debug] QUERY OK source="settings" db=4.7ms queue=0.1ms idle=274.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:32:20.646 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=bNt-vUkFO1w --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e77 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e77 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a9/69/a969c48305dcde156c4271f5cf0516cb1960d66025f682201cc3b54211ff2897.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:32:22.186 [info] {"source":"oban","duration":7377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:52.191 [info] {"source":"oban","duration":4370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:00.547 [info] {"source":"oban","duration":2038,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:33:22.197 [info] {"source":"oban","duration":4374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:52.204 [info] {"source":"oban","duration":6753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:00.549 [info] {"source":"oban","duration":287,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:34:17.291 [info] GET / 19:34:17.291 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 19:34:17.295 [debug] QUERY OK source="settings" db=3.5ms idle=1394.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:17.301 [debug] QUERY OK source="media_profiles" db=5.6ms idle=928.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 19:34:17.319 [debug] QUERY OK source="sources" db=17.8ms queue=0.1ms idle=934.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 19:34:17.357 [debug] QUERY OK source="media_items" db=38.0ms queue=0.1ms idle=952.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 19:34:17.362 [debug] QUERY OK source="media_items" db=4.7ms queue=0.1ms idle=445.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 19:34:17.367 [debug] QUERY OK source="settings" db=3.1ms queue=0.4ms idle=68.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:17.371 [debug] QUERY OK source="settings" db=3.5ms queue=0.1ms idle=66.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:17.376 [debug] QUERY OK source="settings" db=3.7ms queue=0.3ms idle=53.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:17.405 [debug] QUERY OK source="tasks" db=17.8ms queue=0.4ms idle=29.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"] 19:34:17.409 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=43.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [90] 19:34:17.417 [debug] QUERY OK source="media_items" db=5.8ms idle=44.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)) [] 19:34:17.428 [debug] QUERY OK source="media_items" db=9.6ms idle=46.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] 19:34:17.431 [debug] QUERY OK source="sources" db=3.1ms idle=51.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:17.445 [debug] QUERY OK source="media_items" db=9.1ms idle=30.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"))) [] 19:34:17.457 [debug] QUERY OK source="media_items" db=11.5ms queue=0.1ms idle=36.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] 19:34:17.466 [debug] QUERY OK source="sources" db=7.7ms queue=0.1ms idle=40.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [1, 2] 19:34:17.474 [info] Sent 200 in 183ms 19:34:20.243 [info] GET / 19:34:20.243 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 19:34:20.249 [debug] QUERY OK source="settings" db=3.7ms queue=1.2ms idle=877.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:20.256 [debug] QUERY OK source="media_profiles" db=7.1ms queue=0.1ms idle=882.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 19:34:20.267 [debug] QUERY OK source="sources" db=10.7ms queue=0.1ms idle=890.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 19:34:20.325 [debug] QUERY OK source="media_items" db=57.0ms queue=0.3ms idle=901.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 19:34:20.333 [debug] QUERY OK source="media_items" db=7.4ms queue=0.1ms idle=384.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 19:34:20.343 [debug] QUERY OK source="settings" db=9.4ms queue=0.1ms idle=84.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:20.350 [debug] QUERY OK source="settings" db=6.7ms queue=0.1ms idle=86.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:20.356 [debug] QUERY OK source="settings" db=4.6ms queue=0.1ms idle=83.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:20.365 [debug] QUERY OK source="tasks" db=7.7ms queue=0.4ms idle=32.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"] 19:34:20.374 [debug] QUERY OK source="media_items" db=8.3ms idle=32.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [90] 19:34:20.384 [debug] QUERY OK source="media_items" db=8.1ms idle=32.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)) [] 19:34:20.402 [debug] QUERY OK source="media_items" db=17.1ms queue=0.5ms idle=34.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] 19:34:20.407 [debug] QUERY OK source="sources" db=3.4ms queue=0.5ms idle=47.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:20.414 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=45.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"))) [] 19:34:20.429 [debug] QUERY OK source="media_items" db=14.3ms idle=40.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] 19:34:20.433 [debug] QUERY OK source="sources" db=3.3ms idle=45.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [1, 2] 19:34:20.436 [info] Sent 200 in 192ms 19:34:20.719 [info] GET / 19:34:20.719 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 19:34:20.722 [debug] QUERY OK source="settings" db=2.8ms idle=317.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:20.726 [debug] QUERY OK source="media_profiles" db=3.3ms idle=316.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 19:34:20.731 [debug] QUERY OK source="sources" db=4.2ms idle=312.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 19:34:20.790 [debug] QUERY OK source="media_items" db=59.2ms idle=301.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 19:34:20.797 [debug] QUERY OK source="media_items" db=6.2ms idle=357.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 19:34:20.817 [debug] QUERY OK source="settings" db=17.7ms queue=0.1ms idle=76.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:20.832 [debug] QUERY OK source="settings" db=14.4ms queue=0.1ms idle=91.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:20.838 [debug] QUERY OK source="settings" db=5.1ms idle=102.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:20.846 [debug] QUERY OK source="tasks" db=6.0ms queue=0.1ms idle=49.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"] 19:34:20.851 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=50.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [90] 19:34:20.860 [debug] QUERY OK source="media_items" db=5.5ms queue=1.4ms idle=36.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)) [] 19:34:20.868 [debug] QUERY OK source="media_items" db=7.3ms queue=0.2ms idle=28.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] 19:34:20.874 [debug] QUERY OK source="sources" db=4.2ms queue=0.3ms idle=31.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:20.885 [debug] QUERY OK source="media_items" db=4.7ms idle=34.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"))) [] 19:34:20.893 [debug] QUERY OK source="media_items" db=7.0ms idle=34.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] 19:34:20.901 [debug] QUERY OK source="sources" db=7.8ms queue=0.2ms idle=33.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [1, 2] 19:34:20.904 [info] Sent 200 in 185ms 19:34:22.216 [info] {"source":"oban","duration":5426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:27.823 [info] GET /sources/1/media/88 19:34:27.823 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "88", "source_id" => "1"} Pipelines: [:browser] 19:34:27.829 [debug] QUERY OK source="media_items" db=4.9ms queue=0.1ms idle=1457.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" = ?) [88] 19:34:27.831 [info] GET /sources/1/media/86 19:34:27.831 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "86", "source_id" => "1"} Pipelines: [:browser] 19:34:27.835 [debug] QUERY OK source="media_items" db=2.4ms queue=0.6ms idle=830.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" = ?) [86] 19:34:27.835 [debug] QUERY OK source="sources" db=5.7ms idle=1462.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:27.839 [info] GET /sources/1/media/87 19:34:27.839 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "87", "source_id" => "1"} Pipelines: [:browser] 19:34:27.842 [info] GET /sources/1 19:34:27.842 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 19:34:27.846 [info] GET /settings 19:34:27.846 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 19:34:27.849 [info] GET /media_profiles 19:34:27.849 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 19:34:27.858 [debug] QUERY OK source="tasks" db=28.7ms idle=1462.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" [88] 19:34:27.858 [debug] QUERY OK source="tasks" db=22.7ms queue=0.2ms idle=469.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" [86] 19:34:27.859 [debug] QUERY OK source="media_items" db=19.2ms idle=4.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" = ?) [87] 19:34:27.859 [debug] QUERY OK source="sources" db=15.3ms idle=8.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:27.860 [debug] QUERY OK source="sources" db=22.5ms queue=0.1ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:27.862 [debug] QUERY OK source="settings" db=4.0ms queue=12.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 [] 19:34:27.862 [debug] QUERY OK source="media_profiles" db=3.4ms queue=9.4ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 19:34:27.865 [debug] QUERY OK source="sources" db=5.0ms queue=0.7ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:27.866 [debug] QUERY OK source="tasks" db=6.5ms idle=0.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [87] 19:34:27.868 [debug] QUERY OK source="oban_jobs" db=8.6ms queue=0.1ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [80] 19:34:27.873 [debug] QUERY OK source="settings" db=5.9ms queue=1.4ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:27.869 [debug] QUERY OK source="media_profiles" db=5.0ms queue=4.4ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:27.872 [info] GET /sources/1/media/89 19:34:27.874 [debug] QUERY OK source="settings" db=4.6ms queue=2.1ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:27.875 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "89", "source_id" => "1"} Pipelines: [:browser] 19:34:27.878 [info] GET /sources 19:34:27.878 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 19:34:27.880 [debug] QUERY OK source="tasks" db=5.1ms idle=1.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"] 19:34:27.880 [debug] QUERY OK source="oban_jobs" db=10.1ms queue=2.6ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [79] 19:34:27.880 [debug] QUERY OK source="settings" db=9.0ms queue=2.0ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:27.883 [debug] QUERY OK source="settings" db=8.2ms queue=1.3ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:27.885 [debug] QUERY OK source="oban_jobs" db=18.9ms queue=5.5ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [78] 19:34:27.891 [debug] QUERY OK source="settings" db=10.1ms queue=2.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:27.892 [debug] QUERY OK source="settings" db=0.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 [] 19:34:27.892 [debug] QUERY OK source="settings" db=0.5ms 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 [] 19:34:27.893 [debug] QUERY OK source="settings" db=0.2ms queue=7.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:27.896 [debug] QUERY OK source="media_items" db=15.6ms queue=5.1ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [89] 19:34:27.896 [debug] QUERY OK source="settings" db=18.6ms queue=2.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 [] 19:34:27.896 [debug] QUERY OK source="settings" db=12.5ms queue=2.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:27.898 [debug] QUERY OK source="oban_jobs" db=17.0ms idle=0.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [119] 19:34:27.920 [debug] QUERY OK source="settings" db=19.1ms queue=0.8ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:27.929 [debug] QUERY OK source="settings" db=10.0ms queue=0.6ms 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 [] 19:34:27.929 [debug] QUERY OK source="settings" db=10.3ms queue=0.3ms 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 [] 19:34:27.930 [info] Sent 200 in 80ms 19:34:27.929 [debug] QUERY OK source="settings" db=28.2ms queue=0.5ms 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 [] 19:34:27.933 [debug] QUERY OK source="settings" db=2.2ms queue=0.5ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:27.933 [debug] QUERY OK source="settings" db=2.4ms queue=0.4ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:27.934 [debug] QUERY OK source="settings" db=14.1ms queue=14.6ms 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 [] 19:34:27.934 [debug] QUERY OK source="media_profiles" db=3.3ms queue=0.2ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:27.937 [debug] QUERY OK source="settings" db=6.2ms 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 [] 19:34:27.941 [info] Sent 200 in 94ms 19:34:27.943 [debug] QUERY OK source="tasks" db=9.0ms queue=2.9ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [89] 19:34:27.944 [debug] QUERY OK source="settings" db=9.8ms queue=2.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 [] 19:34:27.944 [debug] QUERY OK source="sources" db=9.3ms queue=3.1ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:27.944 [debug] QUERY OK source="media_profiles" db=9.6ms idle=0.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:27.947 [info] Sent 200 in 123ms 19:34:27.949 [debug] QUERY OK source="settings" db=5.0ms queue=8.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:27.949 [debug] QUERY OK source="settings" db=4.5ms queue=0.1ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:27.952 [debug] QUERY OK source="oban_jobs" db=7.1ms idle=0.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [81] 19:34:27.953 [debug] QUERY OK source="settings" db=11.7ms queue=6.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:27.956 [info] Sent 200 in 115ms 19:34:27.960 [debug] QUERY OK source="settings" db=8.3ms queue=1.8ms 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 [] 19:34:27.962 [debug] QUERY OK source="media_profiles" db=10.5ms queue=0.4ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:27.967 [debug] QUERY OK source="sources" db=2.1ms decode=0.4ms queue=0.3ms idle=11.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:27.966 [debug] QUERY OK source="settings" db=4.6ms queue=0.1ms 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 [] 19:34:27.970 [debug] QUERY OK source="settings" db=2.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 [] 19:34:27.970 [info] Sent 200 in 139ms 19:34:27.972 [debug] QUERY OK source="media_items" db=4.4ms queue=0.2ms idle=5.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] 19:34:27.979 [debug] QUERY OK source="settings" db=7.9ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:27.982 [debug] QUERY OK source="sources" db=19.4ms queue=0.1ms idle=12.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)) [] 19:34:27.982 [debug] QUERY OK source="media_profiles" db=2.2ms idle=10.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:27.993 [info] Sent 200 in 120ms 19:34:27.993 [debug] QUERY OK source="media_items" db=19.0ms queue=0.5ms idle=6.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] 19:34:27.997 [debug] QUERY OK source="sources" db=9.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", 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] 19:34:28.003 [debug] QUERY OK source="sources" db=6.1ms idle=17.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:28.008 [info] Sent 200 in 130ms 19:34:28.010 [debug] QUERY OK source="media_items" db=5.4ms idle=21.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 19:34:28.019 [debug] QUERY OK source="media_items" db=8.9ms queue=0.4ms idle=17.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] 19:34:28.035 [debug] QUERY OK source="sources" db=11.2ms idle=25.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:28.050 [debug] QUERY OK source="media_items" db=13.6ms queue=0.7ms idle=32.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] 19:34:28.056 [debug] QUERY OK source="media_items" db=5.0ms queue=0.2ms idle=41.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] 19:34:28.058 [info] Sent 200 in 215ms 19:34:28.141 [info] GET /app_info 19:34:28.141 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 19:34:28.148 [info] GET /search 19:34:28.148 [debug] Processing with PinchflatWeb.Searches.SearchController.show/2 Parameters: %{} Pipelines: [:browser] 19:34:28.150 [debug] QUERY OK source="settings" db=1.6ms queue=0.1ms idle=129.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:28.152 [debug] QUERY OK source="settings" db=10.3ms idle=131.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:28.154 [debug] QUERY OK source="settings" db=3.1ms idle=116.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:28.155 [debug] QUERY OK source="settings" db=3.2ms idle=102.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:28.159 [debug] QUERY OK source="settings" db=3.9ms queue=0.1ms idle=99.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:28.160 [debug] QUERY OK source="settings" db=3.6ms 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 [] 19:34:28.161 [info] Sent 200 in 13ms 19:34:28.167 [debug] QUERY OK source="settings" db=6.5ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:28.193 [info] GET /media_profiles/2 19:34:28.193 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 19:34:28.196 [debug] QUERY OK source="settings" db=27.9ms 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 [] 19:34:28.197 [info] Sent 200 in 56ms 19:34:28.199 [debug] QUERY OK source="media_profiles" db=5.2ms idle=38.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:34:28.206 [debug] QUERY OK source="sources" db=6.5ms queue=0.3ms idle=40.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 19:34:28.215 [debug] QUERY OK source="settings" db=7.8ms idle=46.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:28.218 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms idle=47.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:28.225 [debug] QUERY OK source="settings" db=5.8ms queue=0.2ms idle=23.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:28.230 [info] Sent 200 in 37ms 19:34:28.357 [info] GET /sources/1/media/88/edit 19:34:28.358 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "88", "source_id" => "1"} Pipelines: [:browser] 19:34:28.359 [info] GET /sources/2 19:34:28.360 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 19:34:28.365 [info] GET /sources/1/media/88/force_download 19:34:28.365 [debug] QUERY OK source="sources" db=4.8ms queue=0.4ms idle=153.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:28.366 [debug] QUERY OK source="media_items" db=7.5ms idle=159.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" = ?) [88] 19:34:28.375 [debug] QUERY OK source="media_profiles" db=9.3ms queue=0.1ms idle=147.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:28.376 [debug] QUERY OK source="settings" db=9.4ms queue=0.2ms idle=141.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:28.377 [debug] QUERY OK source="settings" db=11.7ms idle=150.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:28.378 [debug] QUERY OK source="settings" db=1.0ms idle=10.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:28.378 [debug] QUERY OK source="settings" db=1.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:28.378 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:34:28.379 [error] #PID<0.5051.0> running PinchflatWeb.Endpoint (connection #PID<0.5039.0>, stream id 2) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/88/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/88/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5039.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/88/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49434}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5051.0>, params: %{}, path_info: ["sources", "1", "media", "88", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/sources/1/media/88/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9NGxcuT8lrlwAAGbB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5039.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/88/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49434}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/88/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5039.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/88/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49434}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5051.0>, params: %{}, path_info: ["sources", "1", "media", "88", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, (truncated) 19:34:28.390 [debug] QUERY OK source="tasks" db=14.2ms queue=0.1ms idle=10.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 (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 19:34:28.390 [debug] QUERY OK source="settings" db=11.6ms queue=0.5ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:28.393 [info] Sent 200 in 35ms 19:34:28.413 [debug] QUERY OK source="oban_jobs" db=22.8ms idle=13.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" = ?) [125] 19:34:28.437 [debug] QUERY OK source="settings" db=23.0ms 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 [] 19:34:28.443 [debug] QUERY OK source="settings" db=5.5ms queue=0.2ms idle=59.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:28.454 [debug] QUERY OK source="settings" db=9.7ms queue=0.1ms idle=56.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:28.470 [debug] QUERY OK source="sources" db=11.9ms idle=69.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:28.481 [debug] QUERY OK source="media_items" db=10.2ms idle=57.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")))) [2] 19:34:28.501 [debug] QUERY OK source="media_items" db=19.1ms queue=0.1ms idle=44.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 ? [2, 10, 0] 19:34:28.511 [debug] QUERY OK source="sources" db=7.3ms queue=0.3ms idle=59.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:28.517 [debug] QUERY OK source="media_items" db=5.1ms queue=0.1ms idle=56.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 19:34:28.528 [debug] QUERY OK source="media_items" db=10.2ms queue=0.3ms idle=46.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 ? [2, 10, 0] 19:34:28.543 [debug] QUERY OK source="sources" db=14.5ms queue=0.1ms idle=47.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:28.550 [debug] QUERY OK source="media_items" db=6.3ms idle=42.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"))))) [2] 19:34:28.558 [info] GET /media_profiles/new 19:34:28.558 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{"template_id" => "2"} Pipelines: [:browser] 19:34:28.565 [debug] QUERY OK source="media_profiles" db=5.9ms 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" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:34:28.569 [debug] QUERY OK source="media_items" db=17.6ms queue=0.1ms idle=40.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 ? [2, 10, 0] 19:34:28.571 [info] Sent 200 in 211ms 19:34:28.580 [debug] QUERY OK source="settings" db=14.7ms 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 [] 19:34:28.596 [debug] QUERY OK source="settings" db=15.4ms 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 [] 19:34:28.602 [debug] QUERY OK source="settings" db=5.7ms queue=0.1ms 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 [] 19:34:28.610 [debug] QUERY OK source="settings" db=7.0ms queue=0.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 [] 19:34:28.616 [debug] QUERY OK source="settings" db=4.3ms queue=0.4ms idle=42.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:28.619 [info] Sent 200 in 61ms 19:34:31.299 [info] GET /sources/1/media/88/force_download 19:34:31.304 [debug] QUERY OK source="settings" db=4.1ms idle=933.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:31.309 [debug] QUERY OK source="settings" db=4.0ms queue=0.6ms idle=938.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:31.310 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:34:31.310 [error] #PID<0.5053.0> running PinchflatWeb.Endpoint (connection #PID<0.5041.0>, stream id 6) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/88/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/88/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5041.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/88/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49444}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5053.0>, params: %{}, path_info: ["sources", "1", "media", "88", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/sources/1/media/88/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9NRtFntus740AAFlC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5041.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/88/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49444}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/88/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5041.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/88/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49444}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5053.0>, params: %{}, path_info: ["sources", "1", "media", "88", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, (truncated) 19:34:32.006 [info] GET /sources/1/media/86/edit 19:34:32.006 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "86", "source_id" => "1"} Pipelines: [:browser] 19:34:32.020 [debug] QUERY OK source="media_items" db=13.6ms idle=1640.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" = ?) [86] 19:34:32.024 [debug] QUERY OK source="settings" db=2.9ms idle=1654.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.026 [debug] QUERY OK source="settings" db=2.4ms idle=996.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.032 [debug] QUERY OK source="settings" db=3.7ms queue=0.1ms idle=723.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.034 [info] Sent 200 in 28ms 19:34:32.123 [info] GET /media/4876f8a1-9943-40cf-b74d-400ac08c2b5c/stream 19:34:32.124 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "4876f8a1-9943-40cf-b74d-400ac08c2b5c", "v" => "1761606773"} Pipelines: [:maybe_basic_auth] 19:34:32.130 [debug] QUERY OK source="media_items" db=6.3ms idle=103.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["4876f8a1-9943-40cf-b74d-400ac08c2b5c"] 19:34:32.131 [debug] Invalid range request for media item: 4876f8a1-9943-40cf-b74d-400ac08c2b5c - serving full file 19:34:32.131 [info] Sent 200 in 7ms 19:34:32.512 [info] GET /sources/new 19:34:32.512 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "2"} Pipelines: [:browser] 19:34:32.515 [info] GET /sources/2/media/189/edit 19:34:32.515 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "189", "source_id" => "2"} Pipelines: [:browser] 19:34:32.516 [debug] QUERY OK source="sources" db=3.0ms queue=0.3ms idle=489.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:32.518 [info] GET /sources/2 19:34:32.518 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "2"} Pipelines: [:browser] 19:34:32.520 [debug] QUERY OK source="media_items" db=4.3ms queue=0.1ms idle=489.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" = ?) [189] 19:34:32.521 [info] GET /sources/2/sync_files_on_disk 19:34:32.521 [info] GET /sources/2/force_download_pending 19:34:32.521 [debug] QUERY OK source="media_profiles" db=3.1ms queue=0.8ms idle=485.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 19:34:32.524 [debug] QUERY OK source="settings" db=2.9ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.525 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.527 [info] GET /sources 19:34:32.527 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 19:34:32.527 [info] GET /sources/2/force_redownload 19:34:32.528 [info] GET /sources/1/media/87 19:34:32.528 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "87", "source_id" => "1"} Pipelines: [:browser] 19:34:32.529 [debug] QUERY OK source="settings" db=3.8ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.531 [debug] QUERY OK source="settings" db=1.5ms queue=2.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.534 [debug] QUERY OK source="settings" db=2.3ms queue=4.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 [] 19:34:32.537 [debug] QUERY OK source="settings" db=15.7ms idle=390.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.537 [debug] QUERY OK source="media_items" db=2.5ms queue=6.3ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [87] 19:34:32.537 [debug] QUERY OK source="settings" db=16.3ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.543 [info] GET /sources/1 19:34:32.544 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 19:34:32.544 [info] GET /sources/2/edit 19:34:32.545 [info] GET /sources/2/force_index 19:34:32.545 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 19:34:32.546 [debug] QUERY OK source="settings" db=8.1ms queue=7.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.546 [debug] QUERY OK source="settings" db=7.8ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.546 [debug] QUERY OK source="settings" db=8.3ms queue=5.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 [] 19:34:32.547 [debug] QUERY OK source="settings" db=9.2ms queue=2.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 [] 19:34:32.546 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:34:32.547 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:34:32.547 [info] GET /sources/2/force_metadata_refresh 19:34:32.550 [info] GET /sources/f8008779-4688-4437-998b-789e1375e11d/feed.xml 19:34:32.550 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "f8008779-4688-4437-998b-789e1375e11d"} Pipelines: [:maybe_basic_auth] 19:34:32.548 [error] #PID<0.5063.0> running PinchflatWeb.Endpoint (connection #PID<0.5034.0>, stream id 2) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5034.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_redownload", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49420}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5063.0>, params: %{}, path_info: ["sources", "2", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/sources/2/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9NWR8nEDN-usAAAnj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5034.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_redownload", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49420}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5034.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_redownload", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49420}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5063.0>, params: %{}, path_info: ["sources", "2", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", (truncated) 19:34:32.548 [error] #PID<0.5059.0> running PinchflatWeb.Endpoint (connection #PID<0.5028.0>, stream id 2) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5028.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49378}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5059.0>, params: %{}, path_info: ["sources", "2", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/sources/2/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9NWQTSRcOgegAAAGk"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5028.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49378}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5028.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49378}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5059.0>, params: %{}, path_info: ["sources", "2", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {" (truncated) 19:34:32.537 [debug] QUERY OK source="sources" db=16.9ms queue=0.3ms idle=478.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:32.537 [debug] QUERY OK source="settings" db=14.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.585 [debug] QUERY OK source="settings" db=19.5ms queue=28.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 [] 19:34:32.585 [debug] QUERY OK source="sources" db=38.5ms queue=8.7ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:32.585 [debug] QUERY OK source="tasks" db=39.3ms queue=5.9ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [87] 19:34:32.586 [debug] QUERY OK source="sources" db=38.8ms queue=2.8ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:32.586 [debug] QUERY OK source="settings" db=35.2ms queue=5.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.603 [debug] QUERY OK source="settings" db=16.4ms queue=39.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.603 [debug] QUERY OK source="sources" db=17.3ms queue=40.5ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:32.603 [debug] QUERY OK source="settings" db=17.4ms queue=37.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.604 [debug] QUERY OK source="sources" db=17.1ms queue=36.0ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."uuid" = ?) ["f8008779-4688-4437-998b-789e1375e11d"] 19:34:32.605 [debug] QUERY OK source="settings" db=18.8ms queue=39.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 [] 19:34:32.606 [debug] QUERY OK source="oban_jobs" db=1.5ms queue=17.6ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [79] 19:34:32.607 [debug] QUERY OK source="media_profiles" db=3.7ms queue=17.2ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:32.620 [debug] QUERY OK source="media_profiles" db=15.6ms queue=38.9ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:32.621 [debug] QUERY OK source="settings" db=14.8ms queue=19.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.621 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:34:32.621 [debug] QUERY OK source="settings" db=13.3ms queue=4.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.620 [debug] QUERY OK source="settings" db=16.3ms queue=38.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.622 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:34:32.622 [debug] QUERY OK source="settings" db=14.0ms queue=15.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 [] 19:34:32.627 [info] Sent 200 in 114ms 19:34:32.629 [debug] QUERY OK source="settings" db=5.7ms queue=16.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 [] 19:34:32.629 [debug] QUERY OK source="media_items" db=6.9ms queue=18.0ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? [2, 2000] 19:34:32.629 [debug] QUERY OK source="tasks" db=6.0ms queue=14.3ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 19:34:32.629 [debug] QUERY OK source="settings" db=6.8ms queue=18.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 [] 19:34:32.625 [error] #PID<0.5076.0> running PinchflatWeb.Endpoint (connection #PID<0.5074.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5074.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37378}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5076.0>, params: %{}, path_info: ["sources", "2", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/sources/2/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9NWWFEbbRohcAAABm"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5074.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37378}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5074.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37378}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5076.0>, params: %{}, path_info: ["sources", "2", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, (truncated) 19:34:32.632 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:34:32.632 [debug] QUERY OK source="media_profiles" db=11.4ms queue=16.5ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 19:34:32.638 [debug] QUERY OK source="tasks" db=5.4ms queue=11.8ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 19:34:32.624 [error] #PID<0.5060.0> running PinchflatWeb.Endpoint (connection #PID<0.5010.0>, stream id 6) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5010.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 45274}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5060.0>, params: %{}, path_info: ["sources", "2", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/sources/2/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9NWQUSq0IYrAAAGch"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5010.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 45274}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5010.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 45274}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5060.0>, params: %{}, path_info: ["sources", "2", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-fo (truncated) 19:34:32.635 [error] #PID<0.5069.0> running PinchflatWeb.Endpoint (connection #PID<0.5068.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5068.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37340}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5069.0>, params: %{}, path_info: ["sources", "2", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/sources/2/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9NWVtv9aaNrQAAFni"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5068.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37340}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5068.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37340}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5069.0>, params: %{}, path_info: ["sources", "2", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-fo (truncated) 19:34:32.645 [debug] QUERY OK source="settings" db=12.9ms queue=0.3ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.646 [debug] QUERY OK source="settings" db=14.5ms queue=10.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.647 [debug] QUERY OK source="oban_jobs" db=10.8ms queue=3.4ms idle=0.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [119] 19:34:32.647 [debug] QUERY OK source="source_metadata" db=11.1ms queue=3.4ms idle=2.7ms 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" = ?) [2] 19:34:32.647 [debug] QUERY OK source="settings" db=9.5ms queue=3.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.651 [info] Sent 200 in 135ms 19:34:32.655 [info] Sent 200 in 104ms 19:34:32.657 [debug] QUERY OK source="settings" db=7.1ms queue=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.657 [debug] QUERY OK source="settings" db=9.8ms queue=0.2ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.657 [debug] QUERY OK source="sources" db=7.3ms queue=1.9ms idle=1.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)) [] 19:34:32.658 [debug] QUERY OK source="settings" db=7.5ms queue=2.1ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.661 [debug] QUERY OK source="settings" db=1.8ms queue=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.661 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.3ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:32.661 [debug] QUERY OK source="settings" db=2.7ms queue=0.8ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.664 [debug] QUERY OK source="sources" db=5.4ms idle=1.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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] 19:34:32.668 [debug] QUERY OK source="oban_jobs" db=21.5ms queue=6.0ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [125] 19:34:32.672 [info] Sent 200 in 144ms 19:34:32.673 [info] Sent 200 in 146ms 19:34:32.677 [info] Sent 200 in 132ms 19:34:32.678 [debug] QUERY OK source="settings" db=8.5ms 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 [] 19:34:32.678 [debug] QUERY OK source="settings" db=13.4ms queue=0.1ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:32.699 [debug] QUERY OK source="settings" db=14.9ms queue=0.9ms 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 [] 19:34:32.711 [debug] QUERY OK source="settings" db=9.7ms queue=0.2ms 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 [] 19:34:32.713 [debug] QUERY OK source="sources" db=25.5ms 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] 19:34:32.724 [debug] QUERY OK source="media_items" db=8.2ms queue=0.2ms idle=38.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] 19:34:32.733 [debug] QUERY OK source="media_items" db=7.8ms queue=0.1ms 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] 19:34:32.739 [debug] QUERY OK source="sources" db=14.2ms queue=0.4ms idle=46.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:32.751 [debug] QUERY OK source="sources" db=9.7ms queue=0.2ms idle=27.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:32.757 [debug] QUERY OK source="media_items" db=15.6ms queue=0.6ms idle=29.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")))) [2] 19:34:32.766 [debug] QUERY OK source="media_items" db=9.2ms queue=5.2ms idle=27.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 19:34:32.767 [debug] QUERY OK source="media_items" db=9.7ms idle=24.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 ? [2, 10, 0] 19:34:32.775 [debug] QUERY OK source="media_items" db=7.7ms queue=1.2ms idle=27.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] 19:34:32.778 [debug] QUERY OK source="sources" db=6.5ms queue=0.5ms 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" = ?) [2] 19:34:32.785 [debug] QUERY OK source="media_items" db=5.1ms queue=1.6ms idle=21.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 19:34:32.785 [debug] QUERY OK source="sources" db=2.7ms queue=1.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] 19:34:32.790 [debug] QUERY OK source="media_items" db=4.2ms queue=0.1ms idle=18.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 ? [2, 10, 0] 19:34:32.792 [debug] QUERY OK source="media_items" db=6.2ms 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 ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 19:34:32.794 [debug] QUERY OK source="sources" db=3.1ms queue=0.1ms idle=12.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:32.815 [debug] QUERY OK source="media_items" db=21.4ms queue=0.9ms 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] 19:34:32.817 [info] Sent 200 in 273ms 19:34:32.839 [debug] QUERY OK source="media_items" db=39.5ms queue=4.7ms idle=9.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"))))) [2] 19:34:32.851 [debug] QUERY OK source="media_items" db=9.1ms queue=0.2ms idle=51.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 ? [2, 10, 0] 19:34:32.853 [info] Sent 200 in 335ms 19:34:33.141 [info] GET /search 19:34:33.141 [debug] Processing with PinchflatWeb.Searches.SearchController.show/2 Parameters: %{} Pipelines: [:browser] 19:34:33.141 [info] GET /sources/1/media/89 19:34:33.141 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "89", "source_id" => "1"} Pipelines: [:browser] 19:34:33.146 [debug] QUERY OK source="settings" db=3.9ms idle=347.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:33.146 [debug] QUERY OK source="media_items" db=4.1ms queue=0.1ms idle=326.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [89] 19:34:33.149 [debug] QUERY OK source="settings" db=2.9ms idle=306.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:33.152 [debug] QUERY OK source="tasks" db=5.5ms queue=0.1ms idle=295.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" [89] 19:34:33.153 [debug] QUERY OK source="sources" db=5.7ms idle=100.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:33.166 [debug] QUERY OK source="settings" db=16.5ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:33.168 [info] Sent 200 in 27ms 19:34:33.169 [debug] QUERY OK source="oban_jobs" db=12.6ms idle=10.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [81] 19:34:33.178 [debug] QUERY OK source="settings" db=3.9ms queue=2.5ms idle=22.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:33.186 [debug] QUERY OK source="settings" db=7.0ms queue=0.1ms 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 [] 19:34:33.201 [debug] QUERY OK source="settings" db=13.7ms idle=34.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:33.207 [debug] QUERY OK source="media_profiles" db=4.3ms queue=0.3ms idle=35.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:33.214 [info] Sent 200 in 72ms 19:34:34.562 [info] GET /sources/opml.xml 19:34:34.563 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.opml_feed/2 Parameters: %{"route_token" => "f981617a-c3c3-45b8-9b6f-e9fbbba25f94"} Pipelines: [:maybe_basic_auth, :token_protected_route] 19:34:34.567 [debug] QUERY OK source="settings" db=4.1ms queue=0.1ms idle=500.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:34.574 [debug] QUERY OK source="sources" db=5.5ms queue=0.3ms idle=201.2ms SELECT s0."custom_name", s0."uuid" FROM "sources" AS s0 WHERE (s0."marked_for_deletion_at" IS NULL) ORDER BY s0."custom_name" [] 19:34:34.574 [info] Sent 200 in 11ms 19:34:35.406 [info] GET /sources/1/media/88/force_download 19:34:35.409 [debug] QUERY OK source="settings" db=2.7ms idle=1039.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:35.412 [debug] QUERY OK source="settings" db=2.6ms idle=1042.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:35.412 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:34:35.413 [error] #PID<0.5085.0> running PinchflatWeb.Endpoint (connection #PID<0.5070.0>, stream id 5) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/88/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/88/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5070.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/88/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37350}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5085.0>, params: %{}, path_info: ["sources", "1", "media", "88", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/sources/1/media/88/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9NhAI7wGj1LMAAAIl"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5070.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/88/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37350}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/88/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5070.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/88/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37350}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5085.0>, params: %{}, path_info: ["sources", "1", "media", "88", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, (truncated) 19:34:37.194 [info] GET /media/9c50a969-3eed-4493-800d-dce68b8994ee/stream 19:34:37.195 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "9c50a969-3eed-4493-800d-dce68b8994ee", "v" => "1761607472"} Pipelines: [:maybe_basic_auth] 19:34:37.200 [debug] QUERY OK source="media_items" db=4.3ms idle=1783.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["9c50a969-3eed-4493-800d-dce68b8994ee"] 19:34:37.201 [debug] Invalid range request for media item: 9c50a969-3eed-4493-800d-dce68b8994ee - serving full file 19:34:37.202 [info] Sent 200 in 7ms 19:34:37.238 [info] GET /media/4876f8a1-9943-40cf-b74d-400ac08c2b5c/stream 19:34:37.238 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "4876f8a1-9943-40cf-b74d-400ac08c2b5c", "v" => "1761606773"} Pipelines: [:maybe_basic_auth] 19:34:37.251 [debug] QUERY OK source="media_items" db=12.7ms queue=0.1ms idle=1159.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["4876f8a1-9943-40cf-b74d-400ac08c2b5c"] 19:34:37.252 [debug] Invalid range request for media item: 4876f8a1-9943-40cf-b74d-400ac08c2b5c - serving full file 19:34:37.252 [info] Sent 200 in 14ms 19:34:37.347 [info] GET /media_profiles/2 19:34:37.347 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"delete_files" => "true", "id" => "2"} Pipelines: [:browser] 19:34:37.350 [info] GET /sources/2/media/189 19:34:37.351 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "189", "source_id" => "2"} Pipelines: [:browser] 19:34:37.351 [info] GET /sources/1/media/88 19:34:37.351 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "88", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 19:34:37.352 [info] GET /sources/1/media/86/force_download 19:34:37.353 [debug] QUERY OK source="media_profiles" db=5.2ms idle=981.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:34:37.351 [info] GET /sources/1/media/86 19:34:37.356 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "86", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 19:34:37.357 [debug] QUERY OK source="settings" db=5.4ms idle=152.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.358 [debug] QUERY OK source="sources" db=5.1ms 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" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 19:34:37.359 [debug] QUERY OK source="media_items" db=7.4ms idle=258.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" = ?) [88] 19:34:37.359 [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 [] 19:34:37.359 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:34:37.359 [debug] QUERY OK source="media_items" db=8.0ms queue=0.1ms idle=984.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" = ?) [189] 19:34:37.362 [debug] QUERY OK source="tasks" db=2.7ms queue=0.1ms idle=0.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" [88] 19:34:37.364 [debug] QUERY OK source="settings" db=5.1ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.365 [debug] QUERY OK source="sources" db=5.5ms idle=0.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:37.366 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=0.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" = ?) [86] 19:34:37.366 [debug] QUERY OK source="sources" db=3.7ms queue=2.6ms idle=0.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:37.366 [debug] QUERY OK source="tasks" db=6.3ms idle=0.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [189] 19:34:37.368 [debug] QUERY OK source="settings" db=3.6ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.371 [debug] QUERY OK source="oban_jobs" db=4.6ms queue=0.1ms idle=0.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [80] 19:34:37.372 [debug] QUERY OK source="settings" db=2.3ms queue=0.7ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.372 [debug] QUERY OK source="sources" db=5.3ms queue=0.1ms idle=0.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:37.373 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.373 [debug] QUERY OK source="oban_jobs" db=6.5ms idle=0.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [122] 19:34:37.378 [debug] QUERY OK source="settings" db=4.4ms queue=0.4ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.378 [info] Sent 200 in 31ms 19:34:37.378 [debug] QUERY OK source="tasks" db=11.8ms queue=0.2ms idle=1.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" [86] 19:34:37.378 [debug] QUERY OK source="settings" db=4.5ms queue=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.384 [debug] QUERY OK source="settings" db=4.2ms queue=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.385 [debug] QUERY OK source="settings" db=5.2ms queue=0.5ms 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 [] 19:34:37.385 [debug] QUERY OK source="oban_jobs" db=5.2ms queue=0.7ms idle=6.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [78] 19:34:37.389 [debug] QUERY OK source="settings" db=3.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.390 [debug] QUERY OK source="media_profiles" db=3.6ms queue=0.1ms idle=7.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:37.390 [debug] QUERY OK source="settings" db=3.8ms 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 [] 19:34:37.360 [error] #PID<0.5092.0> running PinchflatWeb.Endpoint (connection #PID<0.5039.0>, stream id 4) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/86/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/86/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5039.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/86/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49434}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5092.0>, params: %{}, path_info: ["sources", "1", "media", "86", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/sources/1/media/86/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9NoQIGaZtrgYAAAKm"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5039.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/86/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49434}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/86/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5039.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/86/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49434}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5092.0>, params: %{}, path_info: ["sources", "1", "media", "86", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, (truncated) 19:34:37.395 [debug] QUERY OK source="settings" db=3.9ms queue=1.2ms 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 [] 19:34:37.396 [debug] QUERY OK source="media_profiles" db=3.6ms idle=6.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:37.399 [info] Sent 200 in 48ms 19:34:37.408 [info] Sent 200 in 57ms 19:34:37.421 [debug] QUERY OK source="settings" db=25.3ms queue=0.1ms idle=6.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.458 [debug] QUERY OK source="media_profiles" db=18.9ms idle=48.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:37.463 [info] Sent 200 in 112ms 19:34:37.479 [info] GET /sources/new 19:34:37.479 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "2"} Pipelines: [:browser] 19:34:37.484 [debug] QUERY OK source="sources" db=4.1ms idle=89.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:37.489 [debug] QUERY OK source="media_profiles" db=4.8ms queue=0.1ms 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" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 19:34:37.494 [debug] QUERY OK source="settings" db=4.4ms queue=0.1ms idle=93.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.495 [info] GET /sources/2/force_download_pending 19:34:37.501 [debug] QUERY OK source="settings" db=6.5ms queue=0.1ms idle=73.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.501 [debug] QUERY OK source="settings" db=5.7ms idle=37.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.507 [info] GET /sources/1/media/87 19:34:37.508 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "87", "source_id" => "1"} Pipelines: [:browser] 19:34:37.510 [debug] QUERY OK source="media_items" db=2.2ms 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 WHERE (m0."id" = ?) [87] 19:34:37.514 [info] GET /sources/2/media/189/edit 19:34:37.516 [info] GET /sources/1/ 19:34:37.514 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "189", "source_id" => "2"} Pipelines: [:browser] 19:34:37.516 [info] GET /sources/2 19:34:37.514 [debug] QUERY OK source="settings" db=12.6ms 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 [] 19:34:37.514 [debug] QUERY OK source="settings" db=12.9ms 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 [] 19:34:37.515 [info] GET /sources/2/ 19:34:37.516 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 19:34:37.517 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "2"} Pipelines: [:browser] 19:34:37.517 [debug] QUERY OK source="tasks" db=5.1ms queue=1.0ms idle=10.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" [87] 19:34:37.517 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:34:37.517 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 19:34:37.528 [debug] QUERY OK source="sources" db=14.7ms queue=0.3ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:37.520 [error] #PID<0.5103.0> running PinchflatWeb.Endpoint (connection #PID<0.5061.0>, stream id 3) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5061.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37330}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5103.0>, params: %{}, path_info: ["sources", "2", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/sources/2/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9NoyUHX8KmUsAAAuj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5061.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37330}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5061.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37330}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5103.0>, params: %{}, path_info: ["sources", "2", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-fo (truncated) 19:34:37.551 [debug] QUERY OK source="media_items" db=33.3ms queue=0.1ms idle=0.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" = ?) [189] 19:34:37.552 [debug] QUERY OK source="settings" db=29.0ms queue=5.9ms 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 [] 19:34:37.553 [debug] QUERY OK source="sources" db=35.4ms queue=0.4ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:37.554 [info] GET /sources/2/sync_files_on_disk 19:34:37.554 [debug] QUERY OK source="sources" db=28.1ms queue=8.8ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:37.564 [debug] QUERY OK source="sources" db=35.2ms queue=2.3ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:37.572 [info] GET /sources/new 19:34:37.573 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 19:34:37.576 [debug] QUERY OK source="oban_jobs" db=24.0ms queue=23.4ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [79] 19:34:37.577 [debug] QUERY OK source="settings" db=23.0ms queue=1.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 [] 19:34:37.577 [debug] QUERY OK source="settings" db=23.1ms queue=0.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.577 [debug] QUERY OK source="settings" db=12.2ms queue=10.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.577 [info] GET /sources/f8008779-4688-4437-998b-789e1375e11d/feed.xml 19:34:37.578 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "f8008779-4688-4437-998b-789e1375e11d"} Pipelines: [:maybe_basic_auth] 19:34:37.579 [debug] QUERY OK source="media_profiles" db=24.3ms queue=0.9ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:37.584 [info] GET /sources/2/edit 19:34:37.584 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 19:34:37.576 [info] GET /sources/2/force_redownload 19:34:37.588 [info] Sent 200 in 108ms 19:34:37.592 [info] GET /sources/1/ 19:34:37.592 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 19:34:37.597 [debug] QUERY OK source="settings" db=19.6ms queue=0.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.597 [debug] QUERY OK source="settings" db=17.7ms queue=1.8ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.597 [debug] QUERY OK source="media_profiles" db=17.7ms queue=6.3ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 19:34:37.600 [debug] QUERY OK source="media_profiles" db=22.8ms queue=22.5ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:37.601 [debug] QUERY OK source="sources" db=0.9ms queue=15.9ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:37.601 [debug] QUERY OK source="settings" db=0.9ms queue=13.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 [] 19:34:37.602 [debug] QUERY OK source="settings" db=0.3ms queue=4.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.602 [debug] QUERY OK source="media_profiles" db=21.6ms queue=14.4ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:37.602 [info] GET /sources/2/force_metadata_refresh 19:34:37.604 [debug] QUERY OK source="settings" db=6.7ms queue=19.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.604 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:34:37.604 [debug] QUERY OK source="tasks" db=5.4ms queue=19.7ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 19:34:37.604 [debug] QUERY OK source="sources" db=5.6ms queue=20.1ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."uuid" = ?) ["f8008779-4688-4437-998b-789e1375e11d"] 19:34:37.606 [info] GET /sources/2/force_index 19:34:37.606 [debug] QUERY OK source="sources" db=4.9ms queue=8.7ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:37.608 [debug] QUERY OK source="settings" db=3.4ms queue=2.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 [] 19:34:37.608 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:34:37.608 [debug] QUERY OK source="settings" db=3.7ms queue=6.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 [] 19:34:37.610 [debug] QUERY OK source="tasks" db=5.6ms queue=4.2ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 19:34:37.612 [debug] QUERY OK source="tasks" db=5.9ms queue=3.8ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 19:34:37.613 [debug] QUERY OK source="settings" db=10.3ms queue=4.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 [] 19:34:37.619 [debug] QUERY OK source="media_profiles" db=8.9ms queue=7.3ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 19:34:37.620 [info] Sent 200 in 106ms 19:34:37.620 [debug] QUERY OK source="oban_jobs" db=6.3ms queue=8.5ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [119] 19:34:37.607 [error] #PID<0.5112.0> running PinchflatWeb.Endpoint (connection #PID<0.5061.0>, stream id 4) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5061.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37330}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5112.0>, params: %{}, path_info: ["sources", "2", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/sources/2/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9NpAWWVwOQy4AAALl"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5061.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37330}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5061.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37330}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5112.0>, params: %{}, path_info: ["sources", "2", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {" (truncated) 19:34:37.623 [info] GET /sources/2/media/188 19:34:37.624 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "188", "source_id" => "2"} Pipelines: [:browser] 19:34:37.625 [debug] QUERY OK source="settings" db=12.1ms queue=9.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.626 [debug] QUERY OK source="media_profiles" db=6.3ms queue=13.0ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:37.612 [error] #PID<0.5115.0> running PinchflatWeb.Endpoint (connection #PID<0.5074.0>, stream id 2) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5074.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_redownload", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37378}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5115.0>, params: %{}, path_info: ["sources", "2", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/sources/2/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9NpFkWs3o1OsAAFwC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5074.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_redownload", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37378}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5074.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_redownload", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37378}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5115.0>, params: %{}, path_info: ["sources", "2", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", (truncated) 19:34:37.626 [debug] QUERY OK source="media_items" db=11.9ms queue=8.8ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? [2, 2000] 19:34:37.625 [debug] QUERY OK source="settings" db=13.3ms queue=8.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.627 [info] GET /sources/2/ 19:34:37.627 [info] GET /sources/1 19:34:37.628 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 19:34:37.628 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 19:34:37.632 [debug] QUERY OK source="oban_jobs" db=5.7ms queue=13.2ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [125] 19:34:37.633 [debug] QUERY OK source="settings" db=6.2ms queue=12.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 [] 19:34:37.633 [debug] QUERY OK source="oban_jobs" db=6.6ms queue=13.2ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [125] 19:34:37.634 [debug] QUERY OK source="settings" db=1.9ms queue=8.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.636 [debug] QUERY OK source="media_items" db=2.9ms queue=8.7ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [188] 19:34:37.636 [debug] QUERY OK source="tasks" db=2.7ms queue=5.7ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 19:34:37.637 [debug] QUERY OK source="settings" db=16.8ms queue=13.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 [] 19:34:37.640 [debug] QUERY OK source="media_profiles" db=3.6ms queue=7.2ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:37.640 [debug] QUERY OK source="settings" db=12.7ms queue=8.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.639 [debug] QUERY OK source="source_metadata" db=3.9ms queue=7.7ms idle=0.0ms 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" = ?) [2] 19:34:37.645 [debug] QUERY OK source="sources" db=3.8ms queue=12.5ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:37.645 [debug] QUERY OK source="settings" db=6.4ms queue=11.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.646 [debug] QUERY OK source="settings" db=0.6ms queue=9.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 [] 19:34:37.648 [debug] QUERY OK source="sources" db=7.0ms queue=12.2ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:37.648 [debug] QUERY OK source="settings" db=6.7ms queue=8.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 [] 19:34:37.653 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:34:37.658 [info] Sent 200 in 81ms 19:34:37.659 [debug] QUERY OK source="settings" db=17.8ms queue=8.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 [] 19:34:37.659 [debug] QUERY OK source="settings" db=9.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 [] 19:34:37.659 [debug] QUERY OK source="oban_jobs" db=10.0ms idle=3.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" = ?) [119] 19:34:37.667 [debug] QUERY OK source="media_profiles" db=5.0ms queue=6.0ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:37.667 [debug] QUERY OK source="settings" db=7.6ms queue=6.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 [] 19:34:37.668 [debug] QUERY OK source="tasks" db=7.8ms queue=6.8ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [188] 19:34:37.668 [debug] QUERY OK source="sources" db=7.6ms queue=6.9ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:37.669 [info] GET /sources/1/edit 19:34:37.667 [debug] QUERY OK source="settings" db=12.2ms queue=2.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 [] 19:34:37.672 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:34:37.672 [debug] QUERY OK source="settings" db=7.8ms 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 [] 19:34:37.674 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 19:34:37.675 [info] Sent 200 in 167ms 19:34:37.683 [debug] QUERY OK source="settings" db=14.5ms queue=1.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 [] 19:34:37.675 [error] #PID<0.5123.0> running PinchflatWeb.Endpoint (connection #PID<0.5122.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5122.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5123.0>, params: %{}, path_info: ["sources", "2", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/sources/2/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9NpMvUIGwTS8AAGnh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5122.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5122.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5123.0>, params: %{}, path_info: ["sources", "2", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, (truncated) 19:34:37.685 [debug] QUERY OK source="tasks" db=11.3ms queue=2.7ms idle=3.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"] 19:34:37.684 [debug] QUERY OK source="settings" db=9.3ms queue=5.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.686 [debug] QUERY OK source="settings" db=12.0ms queue=2.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 [] 19:34:37.686 [debug] QUERY OK source="settings" db=14.6ms queue=4.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 [] 19:34:37.696 [debug] QUERY OK source="settings" db=9.2ms queue=8.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.696 [debug] QUERY OK source="sources" db=9.1ms queue=11.2ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:37.656 [error] #PID<0.5121.0> running PinchflatWeb.Endpoint (connection #PID<0.5072.0>, stream id 4) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5072.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37358}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5121.0>, params: %{}, path_info: ["sources", "2", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/sources/2/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9NpL5KEP2UdYAAGkh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5072.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37358}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5072.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37358}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5121.0>, params: %{}, path_info: ["sources", "2", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-fo (truncated) 19:34:37.704 [debug] QUERY OK source="oban_jobs" db=17.3ms queue=12.3ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [120] 19:34:37.706 [debug] QUERY OK source="media_profiles" db=18.8ms queue=6.0ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:37.706 [debug] QUERY OK source="sources" db=9.2ms queue=2.4ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:37.706 [debug] QUERY OK source="sources" db=1.5ms queue=9.2ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:37.708 [debug] QUERY OK source="oban_jobs" db=15.9ms queue=4.0ms idle=1.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [119] 19:34:37.709 [debug] QUERY OK source="settings" db=12.2ms queue=5.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 [] 19:34:37.711 [debug] QUERY OK source="settings" db=3.0ms queue=0.6ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.711 [debug] QUERY OK source="media_profiles" db=3.5ms queue=3.6ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 19:34:37.711 [debug] QUERY OK source="media_items" db=1.6ms queue=1.5ms idle=1.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 19:34:37.712 [debug] QUERY OK source="settings" db=3.7ms queue=3.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 [] 19:34:37.713 [debug] QUERY OK source="tasks" db=3.8ms queue=0.5ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 19:34:37.719 [debug] QUERY OK source="media_items" db=7.1ms queue=3.2ms idle=0.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")))) [2] 19:34:37.719 [debug] QUERY OK source="settings" db=5.3ms queue=1.2ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.719 [debug] QUERY OK source="settings" db=7.7ms queue=3.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.720 [info] Sent 200 in 135ms 19:34:37.720 [debug] QUERY OK source="settings" db=6.7ms queue=0.3ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.721 [debug] QUERY OK source="settings" db=8.6ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.724 [debug] QUERY OK source="oban_jobs" db=4.7ms queue=5.2ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [125] 19:34:37.725 [info] Sent 200 in 152ms 19:34:37.727 [debug] QUERY OK source="settings" db=7.1ms 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 [] 19:34:37.730 [debug] QUERY OK source="media_items" db=10.1ms queue=6.0ms idle=0.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] 19:34:37.742 [debug] QUERY OK source="media_items" db=9.6ms queue=0.8ms idle=10.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 ? [2, 10, 0] 19:34:37.741 [debug] QUERY OK source="settings" db=7.6ms queue=1.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 [] 19:34:37.742 [debug] QUERY OK source="settings" db=8.2ms queue=0.8ms 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 [] 19:34:37.741 [debug] QUERY OK source="settings" db=9.8ms 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 [] 19:34:37.752 [debug] QUERY OK source="settings" db=7.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.753 [debug] QUERY OK source="settings" db=10.7ms queue=0.4ms 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 [] 19:34:37.756 [debug] QUERY OK source="sources" db=11.8ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:37.756 [debug] QUERY OK source="sources" db=12.2ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:37.756 [debug] QUERY OK source="settings" db=4.4ms queue=3.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 [] 19:34:37.759 [debug] QUERY OK source="settings" db=7.2ms queue=2.2ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.763 [debug] QUERY OK source="media_items" db=6.2ms queue=0.3ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 19:34:37.763 [debug] QUERY OK source="sources" db=6.6ms queue=1.9ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:37.764 [debug] QUERY OK source="media_profiles" db=11.4ms queue=7.6ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:37.764 [debug] QUERY OK source="sources" db=7.8ms queue=4.5ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:37.768 [debug] QUERY OK source="sources" db=11.7ms queue=0.9ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:37.770 [debug] QUERY OK source="media_items" db=6.1ms queue=6.4ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 19:34:37.771 [info] Sent 200 in 147ms 19:34:37.770 [debug] QUERY OK source="settings" db=6.3ms queue=4.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.775 [info] Sent 200 in 105ms 19:34:37.777 [debug] QUERY OK source="media_items" db=13.3ms queue=0.7ms idle=0.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 ? [2, 10, 0] 19:34:37.778 [debug] QUERY OK source="media_items" db=5.5ms queue=1.4ms idle=7.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] 19:34:37.778 [debug] QUERY OK source="media_items" db=4.7ms queue=1.8ms idle=2.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 19:34:37.781 [debug] QUERY OK source="media_items" db=7.1ms queue=4.0ms idle=0.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")))) [2] 19:34:37.782 [debug] QUERY OK source="settings" db=4.2ms queue=5.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 [] 19:34:37.784 [debug] QUERY OK source="media_items" db=5.0ms queue=0.1ms idle=0.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 19:34:37.786 [debug] QUERY OK source="sources" db=6.5ms queue=1.2ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:37.786 [debug] QUERY OK source="sources" db=4.3ms queue=1.3ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:37.788 [debug] QUERY OK source="media_items" db=5.8ms queue=0.7ms idle=0.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 ? [2, 10, 0] 19:34:37.788 [debug] QUERY OK source="sources" db=3.6ms queue=0.6ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:37.791 [debug] QUERY OK source="media_items" db=4.8ms queue=0.2ms idle=0.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"))))) [2] 19:34:37.792 [debug] QUERY OK source="sources" db=5.3ms queue=0.5ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:37.792 [debug] QUERY OK source="media_items" db=3.6ms queue=1.8ms idle=0.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] 19:34:37.792 [debug] QUERY OK source="media_items" db=18.9ms queue=1.4ms idle=3.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] 19:34:37.793 [debug] QUERY OK source="media_items" db=2.9ms queue=0.6ms idle=0.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")))) [2] 19:34:37.799 [debug] QUERY OK source="media_items" db=6.6ms queue=0.3ms idle=0.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 ? [2, 10, 0] 19:34:37.799 [debug] QUERY OK source="media_items" db=6.4ms idle=0.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] 19:34:37.799 [debug] QUERY OK source="media_items" db=6.7ms queue=0.3ms idle=0.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 19:34:37.799 [debug] QUERY OK source="sources" db=7.5ms queue=1.9ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:37.800 [info] Sent 200 in 284ms 19:34:37.802 [debug] QUERY OK source="media_items" db=8.8ms queue=0.2ms idle=0.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] 19:34:37.805 [debug] QUERY OK source="media_items" db=3.9ms queue=6.1ms idle=0.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 ? [2, 10, 0] 19:34:37.806 [info] Sent 200 in 290ms 19:34:37.807 [debug] QUERY OK source="media_items" db=6.1ms queue=1.3ms idle=0.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 19:34:37.807 [debug] QUERY OK source="media_items" db=6.2ms queue=1.1ms idle=1.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 19:34:37.814 [debug] QUERY OK source="media_items" db=5.1ms idle=5.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 ? [2, 10, 0] 19:34:37.814 [debug] QUERY OK source="sources" db=6.4ms queue=0.7ms idle=8.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:37.815 [debug] QUERY OK source="sources" db=3.3ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:37.815 [debug] QUERY OK source="sources" db=7.4ms idle=6.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:37.817 [debug] QUERY OK source="media_items" db=1.5ms queue=0.9ms idle=1.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 19:34:37.818 [debug] QUERY OK source="media_items" db=1.9ms queue=0.3ms idle=1.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 19:34:37.818 [debug] QUERY OK source="media_items" db=2.2ms queue=0.2ms idle=1.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 19:34:37.819 [debug] QUERY OK source="media_items" db=1.4ms queue=0.4ms idle=2.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 ? [2, 10, 0] 19:34:37.821 [debug] QUERY OK source="media_items" db=2.4ms queue=0.6ms idle=0.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] 19:34:37.822 [debug] QUERY OK source="media_items" db=3.3ms queue=0.2ms idle=0.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 19:34:37.822 [debug] QUERY OK source="sources" db=7.1ms queue=0.6ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:37.822 [info] Sent 200 in 230ms 19:34:37.823 [debug] QUERY OK source="sources" db=2.6ms idle=2.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:37.832 [debug] QUERY OK source="media_items" db=4.6ms queue=1.4ms idle=6.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"))))) [2] 19:34:37.832 [debug] QUERY OK source="media_items" db=4.9ms queue=2.3ms idle=4.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"))))) [2] 19:34:37.834 [debug] QUERY OK source="media_items" db=1.2ms queue=0.2ms 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 ? [2, 10, 0] 19:34:37.836 [info] Sent 200 in 208ms 19:34:37.836 [debug] QUERY OK source="sources" db=8.4ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:37.838 [debug] QUERY OK source="media_items" db=5.7ms idle=9.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 ? [2, 10, 0] 19:34:37.840 [info] Sent 200 in 324ms 19:34:37.843 [debug] QUERY OK source="media_items" db=4.9ms queue=1.4ms idle=4.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 19:34:37.853 [debug] QUERY OK source="media_items" db=8.9ms idle=11.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] 19:34:37.855 [info] Sent 200 in 227ms 19:34:37.879 [info] GET /app_info 19:34:37.879 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 19:34:37.886 [debug] QUERY OK source="settings" db=6.0ms idle=46.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.890 [debug] QUERY OK source="settings" db=3.3ms queue=0.1ms idle=50.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.898 [debug] QUERY OK source="settings" db=6.9ms idle=52.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.906 [debug] QUERY OK source="settings" db=6.4ms idle=56.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:37.918 [debug] QUERY OK source="settings" db=11.4ms queue=0.1ms 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 [] 19:34:37.919 [info] Sent 200 in 39ms 19:34:38.116 [info] GET /sources/1/media/85 19:34:38.116 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "85", "source_id" => "1"} Pipelines: [:browser] 19:34:38.126 [info] GET /media_profiles/1/edit 19:34:38.126 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 19:34:38.131 [debug] QUERY OK source="media_items" db=13.5ms idle=227.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [85] 19:34:38.135 [debug] QUERY OK source="sources" db=3.1ms idle=214.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:38.135 [debug] QUERY OK source="media_profiles" db=7.8ms idle=229.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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] 19:34:38.135 [debug] QUERY OK source="tasks" db=3.4ms queue=0.1ms idle=225.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [85] 19:34:38.138 [debug] QUERY OK source="oban_jobs" db=2.3ms idle=27.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" = ?) [77] 19:34:38.138 [debug] QUERY OK source="settings" db=2.5ms 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 [] 19:34:38.142 [debug] QUERY OK source="settings" db=2.9ms 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 [] 19:34:38.143 [info] GET /sources/2/media/192 19:34:38.143 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "192", "source_id" => "2"} Pipelines: [:browser] 19:34:38.143 [debug] QUERY OK source="settings" db=4.7ms queue=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:38.146 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:38.147 [debug] QUERY OK source="media_items" db=2.8ms queue=0.2ms idle=5.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [192] 19:34:38.151 [debug] QUERY OK source="settings" db=8.7ms 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 [] 19:34:38.153 [info] Sent 200 in 26ms 19:34:38.157 [debug] QUERY OK source="sources" db=9.9ms idle=0.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:38.159 [debug] QUERY OK source="tasks" db=11.8ms idle=4.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" [192] 19:34:38.170 [debug] QUERY OK source="settings" db=23.3ms 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 [] 19:34:38.172 [debug] QUERY OK source="oban_jobs" db=12.1ms idle=12.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" = ?) [124] 19:34:38.177 [debug] QUERY OK source="media_profiles" db=6.1ms 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] 19:34:38.178 [debug] QUERY OK source="settings" db=5.3ms 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 [] 19:34:38.185 [debug] QUERY OK source="settings" db=6.9ms 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 [] 19:34:38.186 [info] Sent 200 in 69ms 19:34:38.201 [debug] QUERY OK source="settings" db=9.2ms queue=6.0ms idle=15.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:38.212 [debug] QUERY OK source="media_profiles" db=10.1ms idle=29.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:38.214 [info] Sent 200 in 71ms 19:34:38.507 [info] GET /media_profiles/1 19:34:38.507 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 19:34:38.517 [debug] QUERY OK source="media_profiles" db=8.9ms queue=0.2ms idle=330.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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] 19:34:38.520 [debug] QUERY OK source="sources" db=3.1ms queue=0.1ms idle=339.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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] 19:34:38.524 [debug] QUERY OK source="settings" db=2.8ms idle=336.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:38.527 [debug] QUERY OK source="settings" db=2.7ms 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 [] 19:34:38.531 [debug] QUERY OK source="settings" db=3.6ms queue=0.1ms idle=315.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:38.533 [info] Sent 200 in 26ms 19:34:38.743 [info] GET /media_profiles/2/edit 19:34:38.743 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 19:34:38.767 [info] GET /media_profiles/new 19:34:38.767 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 19:34:38.776 [debug] QUERY OK source="settings" db=7.8ms idle=247.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:38.776 [debug] QUERY OK source="media_profiles" db=31.8ms queue=0.3ms idle=226.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:34:38.781 [debug] QUERY OK source="settings" db=5.0ms queue=0.1ms idle=252.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:38.782 [debug] QUERY OK source="settings" db=4.0ms queue=0.5ms idle=250.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:38.787 [debug] QUERY OK source="settings" db=4.9ms queue=0.1ms idle=250.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:38.791 [debug] QUERY OK source="settings" db=8.4ms queue=0.4ms 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 [] 19:34:38.804 [debug] QUERY OK source="settings" db=7.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 [] 19:34:38.805 [debug] QUERY OK source="settings" db=9.0ms queue=5.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 [] 19:34:38.811 [info] Sent 200 in 68ms 19:34:38.812 [debug] QUERY OK source="settings" db=5.0ms idle=25.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:38.814 [info] Sent 200 in 47ms 19:34:38.887 [info] GET /media_profiles/1/ 19:34:38.888 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 19:34:38.897 [debug] QUERY OK source="media_profiles" db=9.0ms queue=0.1ms idle=101.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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] 19:34:38.904 [debug] QUERY OK source="sources" db=6.1ms queue=0.1ms idle=106.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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] 19:34:38.914 [debug] QUERY OK source="settings" db=8.3ms queue=0.7ms idle=100.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:38.925 [debug] QUERY OK source="settings" db=10.9ms queue=0.3ms 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 [] 19:34:38.932 [debug] QUERY OK source="settings" db=5.3ms queue=0.1ms idle=114.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:38.938 [info] Sent 200 in 50ms 19:34:39.082 [info] GET /media_profiles/2/ 19:34:39.083 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 19:34:39.115 [debug] QUERY OK source="media_profiles" db=31.8ms idle=186.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:34:39.125 [debug] QUERY OK source="sources" db=8.9ms queue=0.1ms idle=202.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 19:34:39.149 [debug] QUERY OK source="settings" db=22.2ms 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 [] 19:34:39.159 [debug] QUERY OK source="settings" db=9.1ms queue=0.1ms idle=216.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:39.174 [debug] QUERY OK source="settings" db=13.5ms queue=0.1ms idle=44.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:39.178 [info] Sent 200 in 95ms 19:34:41.568 [info] GET /sources/new 19:34:41.568 [info] GET /sources/2 19:34:41.568 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 19:34:41.568 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "2"} Pipelines: [:browser] 19:34:41.572 [debug] QUERY OK source="sources" db=3.3ms idle=1180.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:41.572 [debug] QUERY OK source="media_profiles" db=3.7ms idle=1180.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 19:34:41.575 [debug] QUERY OK source="media_profiles" db=1.9ms queue=0.2ms idle=1185.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:41.576 [debug] QUERY OK source="settings" db=3.1ms idle=1184.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:41.578 [info] GET /sources/f8008779-4688-4437-998b-789e1375e11d/feed.xml 19:34:41.578 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "f8008779-4688-4437-998b-789e1375e11d"} Pipelines: [:maybe_basic_auth] 19:34:41.578 [debug] QUERY OK source="settings" db=2.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 [] 19:34:41.583 [debug] QUERY OK source="tasks" db=6.8ms queue=0.1ms idle=398.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 (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 19:34:41.587 [debug] QUERY OK source="settings" db=8.3ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:41.591 [debug] QUERY OK source="oban_jobs" db=7.6ms idle=7.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" = ?) [125] 19:34:41.593 [debug] QUERY OK source="settings" db=1.6ms queue=0.1ms idle=12.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:41.593 [debug] QUERY OK source="settings" db=1.9ms 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 [] 19:34:41.594 [debug] QUERY OK source="settings" db=0.9ms 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 [] 19:34:41.596 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:41.599 [debug] QUERY OK source="sources" db=21.1ms idle=6.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."uuid" = ?) ["f8008779-4688-4437-998b-789e1375e11d"] 19:34:41.601 [info] Sent 200 in 33ms 19:34:41.610 [debug] QUERY OK source="settings" db=11.3ms queue=0.8ms 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 [] 19:34:41.611 [debug] QUERY OK source="media_items" db=9.4ms queue=0.1ms idle=6.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 NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? [2, 2000] 19:34:41.644 [debug] QUERY OK source="sources" db=31.6ms idle=15.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:41.645 [debug] QUERY OK source="source_metadata" db=33.5ms queue=0.1ms idle=16.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" = ?) [2] 19:34:41.645 [info] Sent 200 in 67ms 19:34:41.651 [debug] QUERY OK source="media_items" db=6.3ms idle=44.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")))) [2] 19:34:41.664 [debug] QUERY OK source="media_items" db=12.8ms queue=0.1ms idle=41.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 ? [2, 10, 0] 19:34:41.686 [debug] QUERY OK source="sources" db=15.8ms queue=4.1ms idle=56.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:41.703 [debug] QUERY OK source="media_items" db=15.9ms queue=0.2ms idle=43.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 19:34:41.720 [info] GET /search 19:34:41.720 [debug] Processing with PinchflatWeb.Searches.SearchController.show/2 Parameters: %{} Pipelines: [:browser] 19:34:41.722 [debug] QUERY OK source="media_items" db=18.0ms queue=0.4ms idle=58.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 ? [2, 10, 0] 19:34:41.727 [debug] QUERY OK source="sources" db=4.2ms queue=0.2ms idle=58.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:41.728 [debug] QUERY OK source="settings" db=6.9ms queue=0.1ms idle=69.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:41.732 [debug] QUERY OK source="media_items" db=3.6ms idle=25.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"))))) [2] 19:34:41.734 [debug] QUERY OK source="settings" db=5.8ms 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 [] 19:34:41.737 [debug] QUERY OK source="media_items" db=4.5ms 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 ? [2, 10, 0] 19:34:41.742 [info] Sent 200 in 174ms 19:34:41.759 [debug] QUERY OK source="settings" db=24.3ms 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 [] 19:34:41.761 [info] Sent 200 in 41ms 19:34:42.506 [info] GET /sources/2/media/188/edit 19:34:42.506 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "188", "source_id" => "2"} Pipelines: [:browser] 19:34:42.510 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=774.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" = ?) [188] 19:34:42.520 [debug] QUERY OK source="settings" db=9.3ms queue=0.1ms idle=776.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:42.531 [debug] QUERY OK source="settings" db=10.4ms queue=0.4ms idle=783.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:42.536 [debug] QUERY OK source="settings" db=3.4ms queue=0.1ms idle=772.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:42.538 [info] Sent 200 in 32ms 19:34:45.002 [info] GET /sources/1/media/86/force_download 19:34:45.018 [info] GET /media_profiles/2 19:34:45.019 [debug] QUERY OK source="settings" db=15.3ms queue=0.2ms idle=791.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.018 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"delete_files" => "true", "id" => "2"} Pipelines: [:browser] 19:34:45.023 [debug] QUERY OK source="settings" db=4.2ms 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 [] 19:34:45.024 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:34:45.026 [debug] QUERY OK source="media_profiles" db=6.5ms idle=631.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 19:34:45.024 [error] #PID<0.5152.0> running PinchflatWeb.Endpoint (connection #PID<0.5068.0>, stream id 7) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/86/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/86/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5068.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/86/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37340}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5152.0>, params: %{}, path_info: ["sources", "1", "media", "86", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/sources/1/media/86/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9OEwMzP01wksAAAeG"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5068.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/86/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37340}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/86/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5068.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/86/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37340}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5152.0>, params: %{}, path_info: ["sources", "1", "media", "86", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, (truncated) 19:34:45.037 [debug] QUERY OK source="sources" db=10.1ms 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" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 19:34:45.059 [info] GET /sources/2/media/189 19:34:45.059 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "189", "source_id" => "2"} Pipelines: [:browser] 19:34:45.068 [info] GET /sources/new 19:34:45.068 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "2"} Pipelines: [:browser] 19:34:45.082 [debug] QUERY OK source="settings" db=44.2ms queue=0.8ms idle=649.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.082 [debug] QUERY OK source="sources" db=14.2ms idle=44.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:45.088 [debug] QUERY OK source="media_items" db=27.0ms queue=0.6ms idle=41.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" = ?) [189] 19:34:45.103 [debug] QUERY OK source="tasks" db=14.2ms idle=5.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [189] 19:34:45.103 [debug] QUERY OK source="media_profiles" db=19.9ms idle=46.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 19:34:45.103 [debug] QUERY OK source="settings" db=20.1ms queue=0.1ms idle=56.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.105 [info] GET /sources/2/force_download_pending 19:34:45.105 [debug] QUERY OK source="sources" db=16.8ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:45.116 [debug] QUERY OK source="settings" db=5.6ms queue=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 [] 19:34:45.117 [debug] QUERY OK source="settings" db=13.1ms 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 [] 19:34:45.117 [debug] QUERY OK source="settings" db=7.4ms 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 [] 19:34:45.119 [debug] QUERY OK source="oban_jobs" db=7.3ms idle=8.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [122] 19:34:45.125 [info] Sent 200 in 107ms 19:34:45.127 [info] GET /sources/1/media/100 19:34:45.127 [info] GET /sources/2/ 19:34:45.127 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 19:34:45.129 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "100", "source_id" => "1"} Pipelines: [:browser] 19:34:45.138 [debug] QUERY OK source="settings" db=20.1ms queue=1.5ms 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 [] 19:34:45.138 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:34:45.141 [debug] QUERY OK source="settings" db=22.0ms queue=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.139 [error] #PID<0.5160.0> running PinchflatWeb.Endpoint (connection #PID<0.5156.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5156.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49068}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5160.0>, params: %{}, path_info: ["sources", "2", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/sources/2/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9OFIqMcDbcVQAAG3h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5156.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49068}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5156.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49068}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5160.0>, params: %{}, path_info: ["sources", "2", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-fo (truncated) 19:34:45.142 [debug] QUERY OK source="sources" db=14.0ms 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" = ?) [2] 19:34:45.142 [debug] QUERY OK source="media_items" db=12.4ms 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 WHERE (m0."id" = ?) [100] 19:34:45.143 [debug] QUERY OK source="settings" db=23.9ms queue=0.9ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.166 [debug] QUERY OK source="tasks" db=20.6ms queue=1.6ms idle=1.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [100] 19:34:45.167 [debug] QUERY OK source="settings" db=22.8ms queue=0.3ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.168 [debug] QUERY OK source="sources" db=18.3ms idle=6.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:45.168 [debug] QUERY OK source="settings" db=25.6ms queue=0.4ms 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 [] 19:34:45.169 [debug] QUERY OK source="media_profiles" db=24.7ms queue=0.5ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:45.169 [info] GET /sources/2/media/189/edit 19:34:45.170 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "189", "source_id" => "2"} Pipelines: [:browser] 19:34:45.182 [debug] QUERY OK source="media_items" db=10.4ms queue=0.1ms idle=3.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [189] 19:34:45.184 [debug] QUERY OK source="settings" db=15.4ms queue=0.3ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.183 [debug] QUERY OK source="oban_jobs" db=12.2ms queue=1.0ms idle=1.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" = ?) [92] 19:34:45.186 [debug] QUERY OK source="settings" db=10.0ms queue=0.5ms 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 [] 19:34:45.191 [debug] QUERY OK source="tasks" db=21.4ms queue=0.7ms idle=2.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 (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 19:34:45.203 [info] GET /sources/1/media/99 19:34:45.203 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "99", "source_id" => "1"} Pipelines: [:browser] 19:34:45.207 [info] GET /sources/1/ 19:34:45.207 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 19:34:45.212 [info] GET /sources/2/force_index 19:34:45.218 [debug] QUERY OK source="settings" db=32.5ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.219 [debug] QUERY OK source="media_profiles" db=28.3ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:45.220 [debug] QUERY OK source="oban_jobs" db=28.2ms queue=0.2ms idle=0.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [125] 19:34:45.220 [debug] QUERY OK source="settings" db=37.4ms queue=0.3ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.229 [info] Sent 200 in 169ms 19:34:45.235 [debug] QUERY OK source="settings" db=9.0ms queue=2.6ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.237 [debug] QUERY OK source="media_items" db=17.8ms queue=15.1ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [99] 19:34:45.238 [debug] QUERY OK source="settings" db=2.3ms queue=9.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 [] 19:34:45.238 [debug] QUERY OK source="sources" db=17.1ms queue=12.5ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:45.238 [debug] QUERY OK source="settings" db=15.8ms queue=9.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 [] 19:34:45.238 [info] GET /sources/2/sync_files_on_disk 19:34:45.222 [debug] QUERY OK source="settings" db=36.3ms queue=0.8ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.243 [info] Sent 200 in 174ms 19:34:45.248 [debug] QUERY OK source="settings" db=10.2ms queue=2.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.249 [debug] QUERY OK source="tasks" db=10.2ms idle=0.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [99] 19:34:45.249 [debug] QUERY OK source="settings" db=10.1ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.249 [debug] QUERY OK source="media_profiles" db=9.8ms queue=0.3ms idle=0.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:45.249 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:34:45.255 [info] GET /sources/2/media/188 19:34:45.256 [debug] QUERY OK source="settings" db=7.0ms queue=0.1ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.256 [debug] QUERY OK source="settings" db=7.4ms 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 [] 19:34:45.256 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "188", "source_id" => "2"} Pipelines: [:browser] 19:34:45.259 [debug] QUERY OK source="settings" db=20.4ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.262 [debug] QUERY OK source="settings" db=7.1ms queue=16.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.258 [info] GET /sources/2/edit 19:34:45.263 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 19:34:45.264 [debug] QUERY OK source="sources" db=14.5ms queue=9.8ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:45.265 [info] GET /sources/2/force_metadata_refresh 19:34:45.270 [debug] QUERY OK source="settings" db=12.8ms queue=0.5ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.270 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:34:45.276 [debug] QUERY OK source="sources" db=6.0ms queue=6.1ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:45.278 [debug] QUERY OK source="sources" db=13.2ms queue=1.4ms idle=1.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:45.280 [info] Sent 200 in 110ms 19:34:45.281 [debug] QUERY OK source="oban_jobs" db=3.2ms queue=12.5ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [91] 19:34:45.283 [debug] QUERY OK source="settings" db=4.1ms queue=13.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 [] 19:34:45.284 [debug] QUERY OK source="media_profiles" db=2.7ms queue=4.4ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 19:34:45.285 [debug] QUERY OK source="media_items" db=1.2ms queue=5.0ms idle=0.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")))) [2] 19:34:45.254 [error] #PID<0.5173.0> running PinchflatWeb.Endpoint (connection #PID<0.5172.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5172.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49108}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5173.0>, params: %{}, path_info: ["sources", "2", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/sources/2/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9OFiNBW0Qm48AAG5B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5172.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49108}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5172.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49108}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5173.0>, params: %{}, path_info: ["sources", "2", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, (truncated) 19:34:45.286 [debug] QUERY OK source="settings" db=1.6ms queue=3.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 [] 19:34:45.286 [debug] QUERY OK source="settings" db=1.1ms queue=1.8ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.287 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:34:45.290 [debug] QUERY OK source="media_items" db=26.7ms queue=6.9ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [188] 19:34:45.291 [debug] QUERY OK source="settings" db=26.7ms queue=0.8ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.291 [debug] QUERY OK source="tasks" db=34.4ms queue=1.0ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" 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"] 19:34:45.295 [debug] QUERY OK source="settings" db=8.0ms queue=2.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 [] 19:34:45.301 [info] GET /sources/2/ 19:34:45.299 [debug] QUERY OK source="tasks" db=7.9ms queue=0.5ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [188] 19:34:45.301 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 19:34:45.304 [debug] QUERY OK source="sources" db=12.7ms queue=0.4ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:45.304 [debug] QUERY OK source="settings" db=4.8ms queue=3.6ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.302 [debug] QUERY OK source="media_items" db=14.9ms queue=1.7ms idle=0.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 ? [2, 10, 0] 19:34:45.307 [debug] QUERY OK source="oban_jobs" db=4.3ms queue=2.9ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [119] 19:34:45.308 [debug] QUERY OK source="settings" db=14.2ms queue=7.0ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.312 [debug] QUERY OK source="media_profiles" db=10.6ms queue=1.9ms idle=0.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:45.271 [error] #PID<0.5175.0> running PinchflatWeb.Endpoint (connection #PID<0.5174.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5174.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49116}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5175.0>, params: %{}, path_info: ["sources", "2", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/sources/2/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9OFoUKqDdMpMAAAZE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5174.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49116}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5174.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49116}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5175.0>, params: %{}, path_info: ["sources", "2", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {" (truncated) 19:34:45.317 [info] GET /sources/1/ 19:34:45.317 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 19:34:45.322 [debug] QUERY OK source="oban_jobs" db=13.8ms queue=1.2ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [120] 19:34:45.322 [debug] QUERY OK source="sources" db=14.7ms queue=1.4ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:45.323 [debug] QUERY OK source="sources" db=16.9ms queue=3.7ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:45.325 [debug] QUERY OK source="settings" db=20.0ms queue=0.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.326 [debug] QUERY OK source="settings" db=8.8ms queue=7.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.328 [info] Sent 200 in 200ms 19:34:45.287 [error] #PID<0.5183.0> running PinchflatWeb.Endpoint (connection #PID<0.5182.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/2/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/2/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5182.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49136}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5183.0>, params: %{}, path_info: ["sources", "2", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/sources/2/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9OFu5GFPD0vQAAA5D"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5182.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49136}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5182.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49136}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5183.0>, params: %{}, path_info: ["sources", "2", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-fo (truncated) 19:34:45.335 [info] GET /sources/1/edit 19:34:45.335 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 19:34:45.336 [debug] QUERY OK source="media_profiles" db=7.0ms queue=1.4ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:45.337 [debug] QUERY OK source="settings" db=14.2ms queue=13.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 [] 19:34:45.338 [debug] QUERY OK source="sources" db=11.9ms queue=8.2ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:45.339 [debug] QUERY OK source="media_items" db=9.5ms queue=1.9ms idle=1.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 19:34:45.341 [debug] QUERY OK source="settings" db=17.9ms queue=0.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.344 [info] Sent 200 in 85ms 19:34:45.358 [debug] QUERY OK source="sources" db=19.8ms queue=2.6ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:45.359 [debug] QUERY OK source="tasks" db=19.4ms queue=2.8ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 19:34:45.359 [debug] QUERY OK source="media_profiles" db=18.2ms queue=2.8ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:45.360 [debug] QUERY OK source="media_profiles" db=21.9ms queue=6.0ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:45.362 [debug] QUERY OK source="settings" db=1.9ms queue=18.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 [] 19:34:45.362 [debug] QUERY OK source="settings" db=22.4ms queue=2.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 [] 19:34:45.367 [debug] QUERY OK source="oban_jobs" db=6.4ms queue=0.8ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [125] 19:34:45.367 [debug] QUERY OK source="tasks" db=5.3ms queue=2.2ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 19:34:45.368 [info] GET /sources/1/media/90 19:34:45.369 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90", "source_id" => "1"} Pipelines: [:browser] 19:34:45.371 [debug] QUERY OK source="media_items" db=11.7ms queue=20.1ms idle=0.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 ? [2, 10, 0] 19:34:45.372 [debug] QUERY OK source="media_profiles" db=10.6ms queue=2.8ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 19:34:45.373 [debug] QUERY OK source="settings" db=5.2ms queue=0.9ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.378 [info] Sent 200 in 174ms 19:34:45.380 [info] GET /media/9c50a969-3eed-4493-800d-dce68b8994ee/stream 19:34:45.378 [debug] QUERY OK source="settings" db=9.9ms queue=4.3ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.381 [info] GET /sources/2/media/192/edit 19:34:45.379 [debug] QUERY OK source="settings" db=11.5ms queue=0.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.380 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "9c50a969-3eed-4493-800d-dce68b8994ee", "v" => "1761607472"} Pipelines: [:maybe_basic_auth] 19:34:45.384 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "192", "source_id" => "2"} Pipelines: [:browser] 19:34:45.383 [debug] QUERY OK source="media_items" db=10.3ms queue=2.4ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [90] 19:34:45.385 [debug] QUERY OK source="settings" db=5.6ms queue=0.3ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.385 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.6ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:45.388 [debug] QUERY OK source="settings" db=8.9ms queue=1.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 [] 19:34:45.389 [debug] QUERY OK source="oban_jobs" db=15.7ms queue=3.6ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [119] 19:34:45.390 [debug] QUERY OK source="sources" db=16.1ms queue=0.7ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:45.393 [debug] QUERY OK source="media_items" db=3.8ms queue=5.5ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [192] 19:34:45.395 [info] Sent 200 in 139ms 19:34:45.395 [debug] QUERY OK source="media_items" db=6.7ms queue=4.0ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["9c50a969-3eed-4493-800d-dce68b8994ee"] 19:34:45.394 [debug] QUERY OK source="sources" db=4.9ms queue=4.0ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:45.400 [debug] QUERY OK source="tasks" db=11.6ms queue=3.3ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [90] 19:34:45.401 [debug] QUERY OK source="media_items" db=6.1ms queue=1.8ms idle=0.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"))))) [2] 19:34:45.402 [debug] QUERY OK source="settings" db=9.2ms queue=1.4ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.403 [debug] Invalid range request for media item: 9c50a969-3eed-4493-800d-dce68b8994ee - serving full file 19:34:45.404 [info] Sent 200 in 23ms 19:34:45.406 [debug] QUERY OK source="sources" db=10.6ms queue=2.3ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:45.409 [debug] QUERY OK source="settings" db=7.0ms queue=5.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 [] 19:34:45.410 [debug] QUERY OK source="media_items" db=5.4ms queue=3.5ms idle=0.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 ? [2, 10, 0] 19:34:45.411 [debug] QUERY OK source="settings" db=9.0ms 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 [] 19:34:45.411 [debug] QUERY OK source="settings" db=15.8ms queue=2.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 [] 19:34:45.416 [debug] QUERY OK source="oban_jobs" db=12.3ms queue=2.6ms idle=0.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [82] 19:34:45.418 [debug] QUERY OK source="settings" db=3.2ms queue=2.4ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.420 [debug] QUERY OK source="settings" db=11.1ms queue=5.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 [] 19:34:45.420 [debug] QUERY OK source="media_items" db=8.5ms queue=4.1ms idle=0.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] 19:34:45.424 [debug] QUERY OK source="sources" db=7.5ms queue=2.4ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:45.428 [debug] QUERY OK source="settings" db=6.6ms queue=1.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 [] 19:34:45.426 [debug] QUERY OK source="settings" db=7.4ms queue=1.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.424 [debug] QUERY OK source="settings" db=12.2ms queue=2.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 [] 19:34:45.434 [info] Sent 200 in 306ms 19:34:45.435 [debug] QUERY OK source="media_items" db=10.3ms queue=0.4ms idle=4.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] 19:34:45.441 [debug] QUERY OK source="media_items" db=11.2ms queue=2.1ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 19:34:45.441 [debug] QUERY OK source="sources" db=6.6ms queue=4.6ms idle=6.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:45.443 [info] Sent 200 in 108ms 19:34:45.471 [debug] QUERY OK source="sources" db=14.1ms idle=15.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:45.471 [debug] QUERY OK source="media_items" db=17.4ms queue=2.3ms 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] 19:34:45.471 [debug] QUERY OK source="settings" db=19.0ms queue=2.2ms 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 [] 19:34:45.471 [debug] QUERY OK source="settings" db=18.8ms queue=1.8ms idle=23.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.474 [debug] QUERY OK source="media_items" db=2.7ms queue=0.2ms idle=0.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 19:34:45.475 [debug] QUERY OK source="settings" db=2.6ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:45.477 [debug] QUERY OK source="media_items" db=24.2ms queue=1.1ms idle=16.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 ? [2, 10, 0] 19:34:45.484 [debug] QUERY OK source="media_items" db=11.7ms queue=0.1ms idle=0.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] 19:34:45.484 [info] Sent 200 in 102ms 19:34:45.500 [debug] QUERY OK source="media_profiles" db=16.8ms queue=0.1ms idle=8.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:45.501 [debug] QUERY OK source="sources" db=13.1ms 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] 19:34:45.501 [debug] QUERY OK source="sources" db=8.3ms queue=0.1ms idle=15.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:45.503 [debug] QUERY OK source="media_items" db=26.6ms queue=1.4ms idle=3.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] 19:34:45.504 [info] Sent 200 in 135ms 19:34:45.507 [debug] QUERY OK source="media_items" db=5.6ms idle=1.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 19:34:45.512 [debug] QUERY OK source="media_items" db=10.7ms queue=0.5ms idle=17.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 19:34:45.517 [debug] QUERY OK source="media_items" db=7.9ms queue=1.1ms idle=7.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 ? [2, 10, 0] 19:34:45.518 [debug] QUERY OK source="media_items" db=4.6ms queue=0.4ms idle=9.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] 19:34:45.519 [debug] QUERY OK source="sources" db=10.2ms idle=7.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:45.533 [debug] QUERY OK source="media_items" db=13.5ms idle=7.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] 19:34:45.535 [debug] QUERY OK source="sources" db=13.2ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:45.532 [debug] QUERY OK source="sources" db=14.1ms idle=10.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:45.540 [debug] QUERY OK source="media_items" db=6.1ms queue=0.3ms idle=15.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] 19:34:45.540 [debug] QUERY OK source="media_items" db=5.0ms 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 ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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] 19:34:45.545 [info] Sent 200 in 338ms 19:34:45.548 [debug] QUERY OK source="media_items" db=12.1ms idle=4.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"))))) [2] 19:34:45.556 [debug] QUERY OK source="media_items" db=7.1ms queue=0.2ms idle=14.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 ? [2, 10, 0] 19:34:45.559 [info] Sent 200 in 258ms 19:34:45.559 [debug] QUERY OK source="media_items" db=18.0ms queue=0.5ms idle=7.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] 19:34:45.565 [info] Sent 200 in 247ms 19:34:52.040 [info] GET /sources/1/edit 19:34:52.041 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 19:34:52.060 [debug] QUERY OK source="sources" db=19.0ms idle=740.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:52.087 [debug] QUERY OK source="media_profiles" db=25.7ms queue=0.1ms idle=668.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 19:34:52.096 [debug] QUERY OK source="settings" db=8.5ms queue=0.1ms idle=694.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:52.108 [debug] QUERY OK source="settings" db=11.6ms queue=0.1ms idle=704.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:52.113 [debug] QUERY OK source="settings" db=3.5ms idle=716.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:52.118 [info] Sent 200 in 77ms 19:34:52.228 [info] {"source":"oban","duration":9095,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:54.459 [info] GET /sources/1/media/100 19:34:54.459 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "100", "source_id" => "1"} Pipelines: [:browser] 19:34:54.464 [debug] QUERY OK source="media_items" db=4.3ms idle=1066.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" = ?) [100] 19:34:54.467 [debug] QUERY OK source="tasks" db=3.2ms idle=1071.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" [100] 19:34:54.469 [debug] QUERY OK source="sources" db=4.6ms idle=1071.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:54.477 [debug] QUERY OK source="oban_jobs" db=6.9ms idle=1078.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" = ?) [92] 19:34:54.483 [debug] QUERY OK source="settings" db=4.8ms queue=0.2ms idle=153.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:54.489 [debug] QUERY OK source="settings" db=5.6ms queue=0.1ms idle=19.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:54.493 [info] GET /sources/2/ 19:34:54.493 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 19:34:54.505 [debug] QUERY OK source="sources" db=10.8ms idle=24.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:54.505 [debug] QUERY OK source="settings" db=14.6ms queue=0.1ms 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 [] 19:34:54.509 [debug] QUERY OK source="media_profiles" db=3.2ms idle=22.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:54.511 [info] Sent 200 in 52ms 19:34:54.517 [debug] QUERY OK source="media_profiles" db=11.2ms queue=0.2ms 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] 19:34:54.525 [debug] QUERY OK source="tasks" db=7.1ms queue=0.3ms idle=27.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 (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 19:34:54.532 [debug] QUERY OK source="oban_jobs" db=6.8ms queue=0.2ms idle=20.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" = ?) [125] 19:34:54.538 [debug] QUERY OK source="settings" db=4.6ms queue=0.2ms 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 [] 19:34:54.542 [debug] QUERY OK source="settings" db=3.8ms queue=0.2ms 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 [] 19:34:54.551 [debug] QUERY OK source="settings" db=7.7ms queue=0.1ms 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 [] 19:34:54.561 [debug] QUERY OK source="sources" db=6.8ms idle=29.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:54.565 [debug] QUERY OK source="media_items" db=3.2ms queue=0.2ms idle=29.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")))) [2] 19:34:54.569 [debug] QUERY OK source="media_items" db=3.4ms idle=28.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 ? [2, 10, 0] 19:34:54.589 [debug] QUERY OK source="sources" db=17.8ms 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" = ?) [2] 19:34:54.600 [debug] QUERY OK source="media_items" db=9.9ms queue=0.2ms idle=39.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 19:34:54.604 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=39.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 ? [2, 10, 0] 19:34:54.615 [debug] QUERY OK source="sources" db=9.0ms queue=0.1ms idle=40.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:54.620 [debug] QUERY OK source="media_items" db=2.9ms idle=47.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"))))) [2] 19:34:54.633 [debug] QUERY OK source="media_items" db=12.1ms idle=31.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 ? [2, 10, 0] 19:34:54.635 [info] Sent 200 in 142ms 19:34:54.668 [info] GET /sources/1/media/99 19:34:54.668 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "99", "source_id" => "1"} Pipelines: [:browser] 19:34:54.678 [debug] QUERY OK source="media_items" db=9.7ms queue=0.1ms idle=68.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" = ?) [99] 19:34:54.682 [debug] QUERY OK source="tasks" db=3.2ms idle=74.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [99] 19:34:54.683 [debug] QUERY OK source="sources" db=3.9ms idle=64.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:54.689 [debug] QUERY OK source="oban_jobs" db=5.3ms idle=63.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" = ?) [91] 19:34:54.690 [info] GET /sources/1/ 19:34:54.690 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 19:34:54.695 [info] GET /sources/2/media/188 19:34:54.695 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "188", "source_id" => "2"} Pipelines: [:browser] 19:34:54.698 [debug] QUERY OK source="settings" db=8.6ms queue=0.1ms 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 [] 19:34:54.700 [debug] QUERY OK source="sources" db=9.2ms 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] 19:34:54.706 [debug] QUERY OK source="settings" db=7.0ms queue=0.2ms idle=15.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:54.707 [debug] QUERY OK source="media_profiles" db=7.3ms queue=0.1ms idle=10.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:54.708 [info] GET /sources/2/ 19:34:54.708 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 19:34:54.708 [debug] QUERY OK source="media_items" db=8.8ms queue=3.4ms 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 WHERE (m0."id" = ?) [188] 19:34:54.714 [debug] QUERY OK source="tasks" db=4.5ms idle=2.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" [188] 19:34:54.715 [debug] QUERY OK source="tasks" db=6.9ms queue=0.1ms idle=8.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 19:34:54.717 [debug] QUERY OK source="settings" db=9.2ms queue=0.8ms 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 [] 19:34:54.716 [debug] QUERY OK source="sources" db=6.0ms idle=1.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:54.718 [debug] QUERY OK source="sources" db=9.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:54.728 [debug] QUERY OK source="oban_jobs" db=12.1ms queue=0.2ms idle=1.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" = ?) [119] 19:34:54.729 [debug] QUERY OK source="oban_jobs" db=6.9ms queue=0.2ms idle=4.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [120] 19:34:54.729 [debug] QUERY OK source="media_profiles" db=6.9ms queue=0.4ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:54.729 [debug] QUERY OK source="media_profiles" db=10.4ms queue=0.1ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:54.739 [info] Sent 200 in 70ms 19:34:54.749 [info] GET /sources/1/ 19:34:54.750 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 19:34:54.753 [debug] QUERY OK source="sources" db=3.1ms idle=20.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:54.755 [debug] QUERY OK source="settings" db=25.6ms queue=0.2ms 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 [] 19:34:54.758 [debug] QUERY OK source="settings" db=27.1ms queue=0.3ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:54.761 [debug] QUERY OK source="tasks" db=28.7ms queue=0.8ms idle=2.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 19:34:54.765 [debug] QUERY OK source="settings" db=9.2ms queue=0.2ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:54.765 [debug] QUERY OK source="media_profiles" db=12.0ms idle=24.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:54.767 [debug] QUERY OK source="settings" db=8.9ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:54.772 [info] GET /sources/2/media/192/edit 19:34:54.772 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "192", "source_id" => "2"} Pipelines: [:browser] 19:34:54.778 [debug] QUERY OK source="tasks" db=10.1ms queue=0.3ms idle=2.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"] 19:34:54.780 [debug] QUERY OK source="settings" db=11.8ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:54.782 [info] GET /sources/1/media/90 19:34:54.782 [debug] QUERY OK source="settings" db=16.2ms 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 [] 19:34:54.782 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90", "source_id" => "1"} Pipelines: [:browser] 19:34:54.780 [debug] QUERY OK source="oban_jobs" db=17.5ms queue=1.4ms idle=4.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" = ?) [125] 19:34:54.785 [debug] QUERY OK source="media_items" db=13.0ms idle=5.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" = ?) [192] 19:34:54.787 [debug] QUERY OK source="oban_jobs" db=8.8ms queue=0.1ms idle=0.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [119] 19:34:54.792 [debug] QUERY OK source="settings" db=5.2ms queue=3.5ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:54.793 [debug] QUERY OK source="sources" db=0.3ms queue=1.2ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:54.793 [debug] QUERY OK source="settings" db=7.2ms queue=0.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:54.793 [debug] QUERY OK source="media_profiles" db=6.8ms queue=3.8ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:54.794 [debug] QUERY OK source="settings" db=0.7ms queue=0.7ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:54.795 [debug] QUERY OK source="media_items" db=7.9ms queue=3.8ms idle=1.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [90] 19:34:54.795 [info] Sent 200 in 100ms 19:34:54.798 [debug] QUERY OK source="settings" db=10.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:54.798 [debug] QUERY OK source="media_items" db=5.2ms queue=0.2ms idle=0.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] 19:34:54.802 [debug] QUERY OK source="tasks" db=3.1ms queue=0.4ms idle=0.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [90] 19:34:54.803 [debug] QUERY OK source="settings" db=7.2ms queue=3.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 [] 19:34:54.804 [debug] QUERY OK source="settings" db=7.3ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:54.804 [debug] QUERY OK source="settings" db=4.9ms queue=0.5ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:54.804 [debug] QUERY OK source="sources" db=4.9ms queue=0.4ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:54.809 [debug] QUERY OK source="sources" db=3.0ms queue=0.4ms idle=2.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:54.810 [debug] QUERY OK source="oban_jobs" db=3.3ms idle=3.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" = ?) [82] 19:34:54.811 [debug] QUERY OK source="settings" db=4.6ms queue=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:54.811 [debug] QUERY OK source="settings" db=6.8ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:54.817 [info] Sent 200 in 45ms 19:34:54.820 [debug] QUERY OK source="media_items" db=10.5ms queue=0.1ms idle=5.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] 19:34:54.820 [debug] QUERY OK source="media_items" db=10.7ms idle=0.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")))) [2] 19:34:54.824 [debug] QUERY OK source="settings" db=13.3ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:54.829 [debug] QUERY OK source="sources" db=6.3ms 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] 19:34:54.829 [debug] QUERY OK source="sources" db=9.0ms queue=4.0ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:54.830 [debug] QUERY OK source="settings" db=5.1ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:54.832 [debug] QUERY OK source="media_items" db=2.1ms queue=0.2ms idle=5.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 19:34:54.835 [debug] QUERY OK source="media_items" db=10.4ms queue=0.1ms idle=4.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 ? [2, 10, 0] 19:34:54.859 [debug] QUERY OK source="media_items" db=28.8ms idle=1.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 19:34:54.860 [debug] QUERY OK source="settings" db=29.4ms queue=0.5ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:54.862 [debug] QUERY OK source="media_items" db=27.8ms queue=1.9ms idle=2.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] 19:34:54.862 [debug] QUERY OK source="sources" db=26.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:54.869 [debug] QUERY OK source="media_items" db=5.7ms idle=2.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 19:34:54.869 [debug] QUERY OK source="media_profiles" db=3.1ms queue=4.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:54.869 [debug] QUERY OK source="sources" db=5.8ms idle=1.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:54.871 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=7.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 ? [2, 10, 0] 19:34:54.872 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=1.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 19:34:54.873 [debug] QUERY OK source="sources" db=1.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 19:34:54.873 [info] Sent 200 in 91ms 19:34:54.874 [debug] QUERY OK source="media_items" db=1.9ms idle=2.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 19:34:54.876 [debug] QUERY OK source="media_items" db=14.2ms queue=1.6ms idle=25.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] 19:34:54.878 [info] Sent 200 in 188ms 19:34:54.884 [debug] QUERY OK source="sources" db=6.8ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:54.885 [debug] QUERY OK source="media_items" db=11.1ms idle=2.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"))))) [2] 19:34:54.898 [debug] QUERY OK source="media_items" db=13.3ms queue=0.1ms idle=12.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 19:34:54.899 [debug] QUERY OK source="media_items" db=14.0ms idle=10.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 ? [2, 10, 0] 19:34:54.902 [info] Sent 200 in 194ms 19:34:54.907 [debug] QUERY OK source="media_items" db=7.8ms queue=0.1ms idle=22.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] 19:34:54.920 [debug] QUERY OK source="sources" db=11.6ms 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] 19:34:54.924 [debug] QUERY OK source="media_items" db=3.0ms idle=36.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] 19:34:54.930 [debug] QUERY OK source="media_items" db=4.9ms queue=0.1ms idle=25.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] 19:34:54.932 [info] Sent 200 in 182ms 19:34:59.454 [info] GET /sources/1/media/90 19:34:59.454 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90", "source_id" => "1"} Pipelines: [:browser] 19:34:59.457 [debug] QUERY OK source="media_items" db=2.5ms idle=1061.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" = ?) [90] 19:34:59.461 [debug] QUERY OK source="sources" db=2.5ms idle=1064.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:34:59.463 [debug] QUERY OK source="tasks" db=5.0ms idle=1064.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [90] 19:34:59.477 [debug] QUERY OK source="oban_jobs" db=13.1ms idle=1070.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" = ?) [82] 19:34:59.481 [debug] QUERY OK source="settings" db=3.5ms queue=0.1ms idle=90.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:34:59.485 [debug] QUERY OK source="settings" db=3.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 [] 19:34:59.490 [debug] QUERY OK source="settings" db=4.3ms 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 [] 19:34:59.504 [debug] QUERY OK source="media_profiles" db=13.1ms idle=28.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:34:59.511 [info] Sent 200 in 56ms 19:35:00.263 [info] GET /sources/1/media/90/edit 19:35:00.263 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "90", "source_id" => "1"} Pipelines: [:browser] 19:35:00.275 [debug] QUERY OK source="media_items" db=11.3ms queue=0.1ms idle=786.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" = ?) [90] 19:35:00.278 [debug] QUERY OK source="settings" db=2.5ms idle=794.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:35:00.281 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms idle=793.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:35:00.289 [debug] QUERY OK source="settings" db=6.9ms idle=791.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:35:00.290 [info] Sent 200 in 27ms 19:35:00.550 [info] {"source":"oban","duration":329,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:35:03.177 [info] GET /sources/1/media/90/force_download 19:35:03.182 [debug] QUERY OK source="settings" db=4.3ms idle=1783.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:35:03.190 [debug] QUERY OK source="settings" db=7.5ms queue=0.1ms idle=1788.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:35:03.190 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:35:03.190 [error] #PID<0.5233.0> running PinchflatWeb.Endpoint (connection #PID<0.5219.0>, stream id 5) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/90/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/90/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5219.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/90/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37870}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5233.0>, params: %{}, path_info: ["sources", "1", "media", "90", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/sources/1/media/90/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9PIdSN9ID1vgAAAik"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5219.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/90/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37870}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/90/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5219.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/90/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 37870}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5233.0>, params: %{}, path_info: ["sources", "1", "media", "90", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, (truncated) 19:35:03.197 [info] GET /sources/1/media/90 19:35:03.197 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 19:35:03.209 [debug] QUERY OK source="media_items" db=10.0ms queue=0.7ms idle=1787.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" = ?) [90] 19:35:03.215 [debug] QUERY OK source="tasks" db=5.6ms idle=815.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" [90] 19:35:03.217 [debug] QUERY OK source="sources" db=6.5ms queue=1.0ms idle=786.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:35:03.228 [debug] QUERY OK source="oban_jobs" db=9.0ms idle=37.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" = ?) [82] 19:35:03.245 [debug] QUERY OK source="settings" db=16.6ms queue=0.1ms idle=38.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:35:03.255 [debug] QUERY OK source="settings" db=9.2ms queue=0.3ms 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 [] 19:35:03.263 [debug] QUERY OK source="settings" db=6.3ms queue=0.2ms idle=41.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:35:03.275 [debug] QUERY OK source="media_profiles" db=7.0ms queue=2.7ms idle=47.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:35:03.281 [info] Sent 200 in 83ms 19:35:03.726 [info] GET /sources/2/media/192/edit 19:35:03.726 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "192", "source_id" => "2"} Pipelines: [:browser] 19:35:03.733 [debug] QUERY OK source="media_items" db=5.5ms queue=0.4ms idle=481.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" = ?) [192] 19:35:03.738 [debug] QUERY OK source="settings" db=3.8ms queue=0.1ms idle=478.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:35:03.747 [debug] QUERY OK source="settings" db=9.0ms queue=0.1ms idle=475.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:35:03.754 [debug] QUERY OK source="settings" db=6.2ms idle=473.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:35:03.757 [info] Sent 200 in 30ms 19:35:03.815 [info] GET /sources/1/media/99 19:35:03.815 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "99", "source_id" => "1"} Pipelines: [:browser] 19:35:03.820 [debug] QUERY OK source="media_items" db=4.4ms idle=368.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" = ?) [99] 19:35:03.826 [debug] QUERY OK source="tasks" db=4.4ms queue=0.5ms idle=87.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" [99] 19:35:03.826 [debug] QUERY OK source="sources" db=4.7ms 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] 19:35:03.831 [debug] QUERY OK source="oban_jobs" db=3.5ms idle=80.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" = ?) [91] 19:35:03.837 [debug] QUERY OK source="settings" db=5.2ms queue=0.2ms idle=76.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:35:03.847 [debug] QUERY OK source="settings" db=9.5ms queue=0.1ms 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 [] 19:35:03.859 [debug] QUERY OK source="settings" db=11.2ms queue=0.1ms idle=21.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:35:03.869 [debug] QUERY OK source="media_profiles" db=8.2ms 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] 19:35:03.877 [info] Sent 200 in 61ms 19:35:15.019 [info] GET /sources/1/media/90/force_download 19:35:15.023 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=1625.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:35:15.025 [info] GET /sources/1/media/90 19:35:15.026 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "90", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 19:35:15.027 [debug] QUERY OK source="settings" db=3.5ms queue=0.1ms idle=1628.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:35:15.029 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:35:15.030 [debug] QUERY OK source="media_items" db=2.9ms idle=1632.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" = ?) [90] 19:35:15.036 [debug] QUERY OK source="tasks" db=5.2ms idle=1222.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" [90] 19:35:15.034 [error] #PID<0.5244.0> running PinchflatWeb.Endpoint (connection #PID<0.5243.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/90/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/90/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5243.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/90/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58514}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5244.0>, params: %{}, path_info: ["sources", "1", "media", "90", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/sources/1/media/90/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9P0k04DdvvUgAAAkE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5243.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/90/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58514}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/90/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5243.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/90/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58514}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5244.0>, params: %{}, path_info: ["sources", "1", "media", "90", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, (truncated) 19:35:15.040 [debug] QUERY OK source="sources" db=8.4ms idle=213.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:35:15.049 [debug] QUERY OK source="oban_jobs" db=9.2ms idle=16.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" = ?) [82] 19:35:15.054 [debug] QUERY OK source="settings" db=3.9ms 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 [] 19:35:15.058 [debug] QUERY OK source="settings" db=3.9ms queue=0.1ms 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 [] 19:35:15.063 [debug] QUERY OK source="settings" db=4.0ms queue=0.1ms 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 [] 19:35:15.067 [debug] QUERY OK source="media_profiles" db=3.3ms 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] 19:35:15.071 [info] Sent 200 in 45ms 19:35:22.236 [info] {"source":"oban","duration":7838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:40.708 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=bNt-vUkFO1w --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e77 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e77 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a9/69/a969c48305dcde156c4271f5cf0516cb1960d66025f682201cc3b54211ff2897.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] bNt-vUkFO1w: nsig extraction failed: Some formats may be missing n = lDVDQ4xmE0a-FLY4 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] bNt-vUkFO1w: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] bNt-vUkFO1w: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:35:40.821 [debug] Running yt-dlp command for action: download_thumbnail 19:35:40.826 [debug] QUERY OK source="settings" db=2.4ms 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 [] 19:35:40.828 [debug] QUERY OK source="settings" db=2.3ms idle=487.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:35:40.832 [debug] QUERY OK source="settings" db=3.4ms idle=434.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:35:40.833 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=bNt-vUkFO1w --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/90/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/53/f6/53f6648c827ae1fba01837672e02b91734c64f04747ecb37ba3e8f7691518908.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:35:45.713 [info] GET /.env 19:35:45.716 [debug] QUERY OK source="settings" db=2.9ms 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 [] 19:35:45.719 [debug] QUERY OK source="settings" db=2.7ms idle=1321.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:35:45.719 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:35:45.720 [error] #PID<0.5261.0> running PinchflatWeb.Endpoint (connection #PID<0.5259.0>, stream id 2) terminated Server: pinchflat.home.johnhollowell.com: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.5259.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41086}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5261.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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9Rm6o3rHjMOoAAGPi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5259.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41086}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5259.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41086}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5261.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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} (truncated) 19:35:49.784 [info] GET /.env 19:35:49.790 [debug] QUERY OK source="settings" db=5.1ms queue=0.1ms idle=1390.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:35:49.800 [debug] QUERY OK source="settings" db=9.6ms queue=0.4ms idle=1391.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:35:49.801 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:35:49.805 [error] #PID<0.5264.0> running PinchflatWeb.Endpoint (connection #PID<0.5259.0>, stream id 3) terminated Server: pinchflat.home.johnhollowell.com: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.5259.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41086}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5264.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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9R2FavG4vmoEAAGQi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5259.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41086}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5259.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41086}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5264.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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} (truncated) 19:35:52.245 [info] {"source":"oban","duration":8036,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:00.552 [info] {"source":"oban","duration":1418,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:36:02.040 [info] GET /phpinfo 19:36:02.049 [debug] QUERY OK source="settings" db=8.1ms idle=1489.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:02.054 [debug] QUERY OK source="settings" db=5.0ms queue=0.1ms idle=654.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:02.055 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:36:02.056 [error] #PID<0.5267.0> running PinchflatWeb.Endpoint (connection #PID<0.5265.0>, stream id 2) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /phpinfo ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5265.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46362}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5267.0>, params: %{}, path_info: ["phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/phpinfo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9Sjvd23BV3JcAAAkk"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5265.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46362}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5265.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46362}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5267.0>, params: %{}, path_info: ["phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, (truncated) 19:36:06.563 [info] GET /phpinfo 19:36:06.564 [debug] QUERY OK source="settings" db=0.2ms idle=1169.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:06.565 [debug] QUERY OK source="settings" db=0.2ms idle=1169.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:06.565 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:36:06.566 [error] #PID<0.5268.0> running PinchflatWeb.Endpoint (connection #PID<0.5265.0>, stream id 3) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /phpinfo ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5265.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46362}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5268.0>, params: %{}, path_info: ["phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/phpinfo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9S0l2W3Q9rRMAAAlE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5265.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46362}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5265.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46362}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5268.0>, params: %{}, path_info: ["phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, (truncated) 19:36:09.160 [info] GET /phpinfo 19:36:09.165 [debug] QUERY OK source="settings" db=4.7ms idle=1766.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:09.171 [debug] QUERY OK source="settings" db=5.2ms idle=1584.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:09.171 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:36:09.172 [error] #PID<0.5269.0> running PinchflatWeb.Endpoint (connection #PID<0.5265.0>, stream id 4) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /phpinfo ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5265.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46362}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5269.0>, params: %{}, path_info: ["phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/phpinfo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9S-Q6pu0mkP4AAAlk"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5265.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46362}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5265.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46362}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5269.0>, params: %{}, path_info: ["phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, (truncated) 19:36:21.910 [info] GET /phpinfo.php 19:36:21.914 [debug] QUERY OK source="settings" db=3.7ms idle=1515.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:21.917 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=1519.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:21.918 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:36:21.918 [error] #PID<0.5275.0> running PinchflatWeb.Endpoint (connection #PID<0.5274.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /phpinfo.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 /phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5275.0>, params: %{}, path_info: ["phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9Ttwsnzervn8AAGRi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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 /phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5275.0>, params: %{}, path_info: ["phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32 (truncated) 19:36:22.262 [info] {"source":"oban","duration":15806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:30.605 [info] GET /phpinfo.php 19:36:30.615 [debug] QUERY OK source="settings" db=9.3ms idle=1210.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:30.618 [debug] QUERY OK source="settings" db=3.0ms queue=0.1ms idle=1220.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:30.618 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:36:30.619 [error] #PID<0.5277.0> running PinchflatWeb.Endpoint (connection #PID<0.5274.0>, stream id 3) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /phpinfo.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 /phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5277.0>, params: %{}, path_info: ["phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9UOJt_iBRA88AAGSC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5277.0>, params: %{}, path_info: ["phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32 (truncated) 19:36:33.629 [info] GET /portal/.env 19:36:33.636 [debug] QUERY OK source="settings" db=6.5ms idle=1234.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:33.659 [debug] QUERY OK source="settings" db=22.7ms idle=1241.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:33.659 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:36:33.660 [error] #PID<0.5278.0> running PinchflatWeb.Endpoint (connection #PID<0.5274.0>, stream id 4) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /portal/.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 /portal/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/portal/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5278.0>, params: %{}, path_info: ["portal", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/portal/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9UZawUwZg6g8AAGSi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/portal/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /portal/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/portal/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5278.0>, params: %{}, path_info: ["portal", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", (truncated) 19:36:34.909 [info] GET /portal/.env 19:36:34.913 [debug] QUERY OK source="settings" db=2.5ms idle=1273.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:34.916 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=1253.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:34.916 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:36:34.917 [error] #PID<0.5279.0> running PinchflatWeb.Endpoint (connection #PID<0.5274.0>, stream id 5) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /portal/.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 /portal/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/portal/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5279.0>, params: %{}, path_info: ["portal", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/portal/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9UeMFW7jUKoMAAGTC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/portal/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /portal/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/portal/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5279.0>, params: %{}, path_info: ["portal", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", (truncated) 19:36:39.362 [info] GET /portal/.env 19:36:39.366 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=1522.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:39.369 [debug] QUERY OK source="settings" db=2.7ms 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 [] 19:36:39.370 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:36:39.371 [error] #PID<0.5283.0> running PinchflatWeb.Endpoint (connection #PID<0.5274.0>, stream id 9) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /portal/.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 /portal/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/portal/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5283.0>, params: %{}, path_info: ["portal", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/portal/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9UuxvIYFpyKgAAGTi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/portal/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /portal/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/portal/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5283.0>, params: %{}, path_info: ["portal", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", (truncated) 19:36:46.179 [info] GET /env/.env 19:36:46.183 [debug] QUERY OK source="settings" db=3.9ms idle=1784.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:46.187 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=1789.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:46.187 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:36:46.188 [error] #PID<0.5286.0> running PinchflatWeb.Endpoint (connection #PID<0.5274.0>, stream id 12) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /env/.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 /env/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/env/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5286.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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/env/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9VIK4x06qoZsAAGUC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/env/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, 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.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/env/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5286.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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, (truncated) 19:36:47.389 [info] GET /env/.env 19:36:47.400 [debug] QUERY OK source="settings" db=10.5ms idle=1205.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:47.406 [debug] QUERY OK source="settings" db=5.5ms queue=0.1ms idle=1005.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:47.406 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:36:47.407 [error] #PID<0.5287.0> running PinchflatWeb.Endpoint (connection #PID<0.5274.0>, stream id 13) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /env/.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 /env/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/env/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5287.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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/env/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9VMrWKUSiEwcAAGUi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/env/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, 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.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/env/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5287.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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, (truncated) 19:36:50.891 [info] GET /env/.env 19:36:50.897 [debug] QUERY OK source="settings" db=5.1ms idle=1497.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:50.903 [debug] QUERY OK source="settings" db=4.2ms queue=0.3ms idle=1503.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:50.903 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:36:50.904 [error] #PID<0.5292.0> running PinchflatWeb.Endpoint (connection #PID<0.5274.0>, stream id 16) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /env/.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 /env/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/env/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5292.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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/env/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9VZuae_YC47EAAGVC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/env/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 16, 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.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/env/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5292.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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, (truncated) 19:36:52.267 [info] {"source":"oban","duration":4160,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:52.836 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=bNt-vUkFO1w --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/90/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/53/f6/53f6648c827ae1fba01837672e02b91734c64f04747ecb37ba3e8f7691518908.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] bNt-vUkFO1w: nsig extraction failed: Some formats may be missing n = hfkbH4yRWp-OPL93 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] bNt-vUkFO1w: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] bNt-vUkFO1w: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:36:52.837 [debug] QUERY OK db=0.0ms idle=1442.9ms begin [] 19:36:53.000 [debug] QUERY OK source="media_items" db=162.5ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 23:35:40Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e77 - Minecraft_-_Shadow_of_Israphel_Part_33_-_The_Deepcore.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e77 - Minecraft_-_Shadow_of_Israphel_Part_33_-_The_Deepcore.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e77 - Minecraft_-_Shadow_of_Israphel_Part_33_-_The_Deepcore.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e77 - Minecraft_-_Shadow_of_Israphel_Part_33_-_The_Deepcore-thumb.jpg", ~U[2025-10-27 23:36:52Z], 90] 19:36:53.009 [debug] QUERY OK source="media_metadata" db=7.6ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/90/metadata.json.gz", "/config/metadata/media_items/90/thumbnail.jpg", 90, ~U[2025-10-27 23:36:53Z], ~U[2025-10-27 23:36:53Z]] 19:36:53.383 [debug] QUERY OK db=374.5ms commit [] 19:36:53.661 [debug] QUERY OK source="media_items" db=270.6ms idle=1122.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [261230499, ~U[2025-10-27 23:36:53Z], 90] 19:36:53.662 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:36:53.762 [info] {"args":{"id":90},"id":82,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":362874274,"event":"job:stop","queue_time":17373722643,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:36:53.893 [info] {"args":{"id":91},"id":83,"meta":{},"system_time":1761608213892783012,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:36:53.897 [debug] QUERY OK source="media_items" db=4.2ms queue=0.1ms idle=936.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" = ?) [91] 19:36:53.898 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:36:53.904 [debug] QUERY OK source="sources" db=4.1ms queue=1.1ms idle=515.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:36:53.910 [debug] QUERY OK source="media_profiles" db=5.8ms queue=0.2ms idle=243.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:36:53.918 [debug] QUERY OK source="media_items" db=6.7ms queue=0.3ms idle=149.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 [91] 19:36:53.928 [debug] QUERY OK source="media_metadata" db=5.1ms idle=30.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [91] 19:36:53.936 [debug] QUERY OK source="media_profiles" db=6.8ms queue=0.5ms idle=30.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:36:53.942 [debug] QUERY OK source="settings" db=5.7ms 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 [] 19:36:53.950 [debug] QUERY OK source="settings" db=7.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 [] 19:36:53.953 [debug] Running yt-dlp command for action: get_downloadable_status 19:36:53.959 [debug] QUERY OK source="settings" db=3.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 [] 19:36:53.961 [debug] QUERY OK source="settings" db=2.4ms idle=23.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:53.966 [debug] QUERY OK source="settings" db=3.8ms 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 [] 19:36:53.967 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8KFvN2kOGpM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/99/f2/99f274d62a9c9cc2f19ccff70047f404540f042e81ef9972304e9d3678b18a4c.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:36:55.977 [info] GET /api/.env 19:36:55.979 [debug] QUERY OK source="settings" db=2.5ms idle=957.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:55.989 [debug] QUERY OK source="settings" db=9.0ms 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 [] 19:36:55.989 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:36:55.990 [error] #PID<0.5298.0> running PinchflatWeb.Endpoint (connection #PID<0.5274.0>, stream id 19) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /api/.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 /api/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5298.0>, params: %{}, path_info: ["api", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/api/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9Vsq3YtCwiygAAGWC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5298.0>, params: %{}, path_info: ["api", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, (truncated) 19:36:57.953 [info] GET /api/.env 19:36:57.957 [debug] QUERY OK source="settings" db=3.3ms queue=0.1ms idle=922.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:57.959 [debug] QUERY OK source="settings" db=2.4ms idle=554.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:36:57.960 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:36:57.960 [error] #PID<0.5299.0> running PinchflatWeb.Endpoint (connection #PID<0.5274.0>, stream id 20) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /api/.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 /api/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 20, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5299.0>, params: %{}, path_info: ["api", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/api/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9V0B_uHXr3JsAAGWi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 20, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 20, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5299.0>, params: %{}, path_info: ["api", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, (truncated) 19:37:00.553 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:37:01.130 [info] GET /api/.env 19:37:01.136 [debug] QUERY OK source="settings" db=4.8ms queue=0.1ms idle=1728.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:01.140 [debug] QUERY OK source="settings" db=4.2ms queue=0.1ms idle=1733.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:01.141 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:37:01.142 [error] #PID<0.5300.0> running PinchflatWeb.Endpoint (connection #PID<0.5274.0>, stream id 21) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /api/.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 /api/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 21, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5300.0>, params: %{}, path_info: ["api", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/api/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9V_3mjuYglPcAAGXC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 21, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5274.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 48412}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 21, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5300.0>, params: %{}, path_info: ["api", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, (truncated) 19:37:06.458 [info] GET /app/.env 19:37:06.462 [debug] QUERY OK source="settings" db=3.7ms queue=0.1ms idle=1053.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:06.484 [debug] QUERY OK source="settings" db=21.3ms queue=0.1ms idle=381.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:06.484 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:37:06.485 [error] #PID<0.5302.0> running PinchflatWeb.Endpoint (connection #PID<0.5301.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /app/.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 /app/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5301.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 52430}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5302.0>, params: %{}, path_info: ["app", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/app/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9WTt1lCZkHrwAAGXi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5301.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 52430}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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 /app/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5301.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 52430}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5302.0>, params: %{}, path_info: ["app", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, (truncated) 19:37:08.159 [info] GET /app/.env 19:37:08.163 [debug] QUERY OK source="settings" db=3.6ms idle=1755.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:08.166 [debug] QUERY OK source="settings" db=2.7ms idle=1701.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:08.167 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:37:08.167 [error] #PID<0.5303.0> running PinchflatWeb.Endpoint (connection #PID<0.5301.0>, stream id 2) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /app/.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 /app/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5301.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 52430}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5303.0>, params: %{}, path_info: ["app", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/app/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9WaDaDFUbRZgAAHIB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5301.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 52430}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /app/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5301.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 52430}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5303.0>, params: %{}, path_info: ["app", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, (truncated) 19:37:10.732 [info] GET /app/.env 19:37:10.737 [debug] QUERY OK source="settings" db=4.1ms idle=1328.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:10.743 [debug] QUERY OK source="settings" db=6.0ms idle=1332.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:10.744 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:37:10.744 [error] #PID<0.5304.0> running PinchflatWeb.Endpoint (connection #PID<0.5301.0>, stream id 3) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /app/.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 /app/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5301.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 52430}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5304.0>, params: %{}, path_info: ["app", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/app/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9WjozX5UNjb8AAGYC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5301.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 52430}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /app/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5301.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 52430}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5304.0>, params: %{}, path_info: ["app", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, (truncated) 19:37:15.880 [info] GET /dev/.env 19:37:15.883 [debug] QUERY OK source="settings" db=2.3ms idle=1476.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:15.886 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=1478.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:15.887 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:37:15.887 [error] #PID<0.5306.0> running PinchflatWeb.Endpoint (connection #PID<0.5305.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /dev/.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 /dev/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5305.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dev/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58632}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5306.0>, params: %{}, path_info: ["dev", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/dev/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9W20SZ9OriNUAAHIh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5305.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dev/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58632}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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 /dev/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5305.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dev/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58632}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5306.0>, params: %{}, path_info: ["dev", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, (truncated) 19:37:19.591 [info] GET /dev/.env 19:37:19.597 [debug] QUERY OK source="settings" db=5.6ms idle=1186.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:19.601 [debug] QUERY OK source="settings" db=3.8ms idle=1192.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:19.601 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:37:19.602 [error] #PID<0.5309.0> running PinchflatWeb.Endpoint (connection #PID<0.5305.0>, stream id 2) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /dev/.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 /dev/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5305.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dev/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58632}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5309.0>, params: %{}, path_info: ["dev", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/dev/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9XEo5UwEB91AAAGZC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5305.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dev/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58632}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /dev/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5305.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dev/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58632}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5309.0>, params: %{}, path_info: ["dev", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, (truncated) 19:37:22.272 [info] {"source":"oban","duration":4107,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:22.375 [info] GET /dev/.env 19:37:22.377 [debug] QUERY OK source="settings" db=2.3ms idle=970.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:22.380 [debug] QUERY OK source="settings" db=2.2ms idle=973.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:22.380 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:37:22.381 [error] #PID<0.5310.0> running PinchflatWeb.Endpoint (connection #PID<0.5305.0>, stream id 3) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /dev/.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 /dev/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5305.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dev/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58632}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5310.0>, params: %{}, path_info: ["dev", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/dev/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9XPAqYcmOeu0AAGZi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5305.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dev/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58632}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /dev/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5305.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dev/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58632}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5310.0>, params: %{}, path_info: ["dev", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, (truncated) 19:37:26.789 [info] GET /new/.env 19:37:26.793 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=1383.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:26.795 [debug] QUERY OK source="settings" db=2.4ms idle=1386.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:26.796 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:37:26.796 [error] #PID<0.5311.0> running PinchflatWeb.Endpoint (connection #PID<0.5305.0>, stream id 4) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /new/.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 /new/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5305.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58632}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5311.0>, params: %{}, path_info: ["new", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/new/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9XfdH_y3T3GMAAGaC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5305.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58632}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /new/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5305.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58632}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5311.0>, params: %{}, path_info: ["new", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, (truncated) 19:37:28.310 [info] GET /new/.env 19:37:28.313 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=1515.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:28.319 [debug] QUERY OK source="settings" db=4.7ms queue=0.1ms idle=1089.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:28.319 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:37:28.319 [error] #PID<0.5312.0> running PinchflatWeb.Endpoint (connection #PID<0.5305.0>, stream id 5) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /new/.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 /new/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5305.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58632}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5312.0>, params: %{}, path_info: ["new", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/new/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9XlH265XIRcUAAGai"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5305.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58632}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /new/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5305.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58632}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5312.0>, params: %{}, path_info: ["new", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, (truncated) 19:37:30.562 [info] GET /new/.env 19:37:30.565 [debug] QUERY OK source="settings" db=2.8ms idle=1155.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:30.568 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=1159.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:30.568 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:37:30.569 [error] #PID<0.5313.0> running PinchflatWeb.Endpoint (connection #PID<0.5305.0>, stream id 6) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /new/.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 /new/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5305.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58632}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5313.0>, params: %{}, path_info: ["new", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/new/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9XtgpkXa5Yx8AAGbC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5305.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58632}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /new/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5305.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 58632}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5313.0>, params: %{}, path_info: ["new", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, (truncated) 19:37:36.117 [info] GET /new/.env.local 19:37:36.121 [debug] QUERY OK source="settings" db=3.4ms idle=1710.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:36.124 [debug] QUERY OK source="settings" db=2.6ms idle=1714.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:36.124 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:37:36.125 [error] #PID<0.5315.0> running PinchflatWeb.Endpoint (connection #PID<0.5314.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /new/.env.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 /new/.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.local", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5315.0>, params: %{}, path_info: ["new", ".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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/new/.env.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9YCNC1te6C7cAAHJB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.local", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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 /new/.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.local", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5315.0>, params: %{}, path_info: ["new", ".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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x (truncated) 19:37:37.967 [info] GET /new/.env.local 19:37:37.971 [debug] QUERY OK source="settings" db=2.9ms idle=689.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:37.974 [debug] QUERY OK source="settings" db=2.7ms idle=564.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:37.974 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:37:37.975 [error] #PID<0.5316.0> running PinchflatWeb.Endpoint (connection #PID<0.5314.0>, stream id 2) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /new/.env.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 /new/.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.local", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5316.0>, params: %{}, path_info: ["new", ".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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/new/.env.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9YJGQGHGQmGEAAGbi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.local", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /new/.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.local", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5316.0>, params: %{}, path_info: ["new", ".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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x (truncated) 19:37:40.645 [info] GET /new/.env.local 19:37:40.649 [debug] QUERY OK source="settings" db=3.0ms idle=1239.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:40.652 [debug] QUERY OK source="settings" db=2.3ms idle=1242.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:40.652 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:37:40.653 [error] #PID<0.5317.0> running PinchflatWeb.Endpoint (connection #PID<0.5314.0>, stream id 3) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /new/.env.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 /new/.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.local", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5317.0>, params: %{}, path_info: ["new", ".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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/new/.env.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9YTEwWoSOA_UAAGcC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.local", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /new/.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.local", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5317.0>, params: %{}, path_info: ["new", ".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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x (truncated) 19:37:45.012 [info] GET /new/.env.production 19:37:45.015 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms idle=1605.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:45.021 [debug] QUERY OK source="settings" db=5.1ms idle=1609.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:45.021 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:37:45.022 [error] #PID<0.5318.0> running PinchflatWeb.Endpoint (connection #PID<0.5314.0>, stream id 4) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /new/.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 /new/.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.production", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5318.0>, params: %{}, path_info: ["new", ".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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/new/.env.production", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9YjVzMUuxbzgAAGci"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.production", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /new/.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.production", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5318.0>, params: %{}, path_info: ["new", ".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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", (truncated) 19:37:46.234 [info] GET /new/.env.production 19:37:46.238 [debug] QUERY OK source="settings" db=3.7ms idle=1828.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:46.242 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=1832.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:46.242 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:37:46.244 [error] #PID<0.5319.0> running PinchflatWeb.Endpoint (connection #PID<0.5314.0>, stream id 5) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /new/.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 /new/.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.production", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5319.0>, params: %{}, path_info: ["new", ".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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/new/.env.production", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9Yn5M12vm7xwAAGdC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.production", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /new/.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.production", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5319.0>, params: %{}, path_info: ["new", ".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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", (truncated) 19:37:48.364 [info] GET /new/.env.production 19:37:48.370 [debug] QUERY OK source="settings" db=4.7ms queue=0.1ms idle=1958.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:48.374 [debug] QUERY OK source="settings" db=3.5ms queue=0.2ms idle=1963.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:48.375 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:37:48.376 [error] #PID<0.5320.0> running PinchflatWeb.Endpoint (connection #PID<0.5314.0>, stream id 6) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /new/.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 /new/.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.production", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5320.0>, params: %{}, path_info: ["new", ".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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/new/.env.production", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9Yv1IIlL3UAgAAGdi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.production", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /new/.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.production", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5320.0>, params: %{}, path_info: ["new", ".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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", (truncated) 19:37:52.278 [info] {"source":"oban","duration":4922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:52.579 [info] GET /new/.env.staging 19:37:52.583 [debug] QUERY OK source="settings" db=3.9ms queue=0.1ms idle=1169.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:52.587 [debug] QUERY OK source="settings" db=3.2ms idle=1174.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:52.587 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:37:52.590 [error] #PID<0.5323.0> running PinchflatWeb.Endpoint (connection #PID<0.5314.0>, stream id 7) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /new/.env.staging ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /new/.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.staging", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5323.0>, params: %{}, path_info: ["new", ".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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/new/.env.staging", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9Y_h11DNFu5YAAGeC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.staging", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /new/.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.staging", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5323.0>, params: %{}, path_info: ["new", ".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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, (truncated) 19:37:53.866 [info] GET /new/.env.staging 19:37:53.869 [debug] QUERY OK source="settings" db=2.7ms idle=1283.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:53.872 [debug] QUERY OK source="settings" db=2.2ms idle=1282.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:53.872 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:37:53.873 [error] #PID<0.5324.0> running PinchflatWeb.Endpoint (connection #PID<0.5314.0>, stream id 8) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /new/.env.staging ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /new/.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.staging", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5324.0>, params: %{}, path_info: ["new", ".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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/new/.env.staging", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9ZEUzsiLDVWAAAGei"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.staging", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /new/.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.staging", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5324.0>, params: %{}, path_info: ["new", ".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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, (truncated) 19:37:56.592 [info] GET /new/.env.staging 19:37:56.599 [debug] QUERY OK source="settings" db=6.2ms idle=1183.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:56.602 [debug] QUERY OK source="settings" db=2.2ms queue=0.2ms idle=1189.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:37:56.602 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:37:56.603 [error] #PID<0.5325.0> running PinchflatWeb.Endpoint (connection #PID<0.5314.0>, stream id 9) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /new/.env.staging ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /new/.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.staging", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5325.0>, params: %{}, path_info: ["new", ".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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/new/.env.staging", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9ZOezQfW7dIEAAGfC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.staging", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /new/.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new/.env.staging", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5325.0>, params: %{}, path_info: ["new", ".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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, (truncated) 19:38:00.555 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:38:01.227 [info] GET /_phpinfo.php 19:38:01.232 [debug] QUERY OK source="settings" db=3.9ms idle=818.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:01.236 [debug] QUERY OK source="settings" db=4.3ms queue=0.1ms idle=822.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:01.237 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:38:01.239 [error] #PID<0.5326.0> running PinchflatWeb.Endpoint (connection #PID<0.5314.0>, stream id 10) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /_phpinfo.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 /_phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5326.0>, params: %{}, path_info: ["_phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/_phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9Zfv0u5uI5RkAAGfi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5326.0>, params: %{}, path_info: ["_phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-s (truncated) 19:38:02.771 [info] GET /_phpinfo.php 19:38:02.776 [debug] QUERY OK source="settings" db=3.7ms queue=0.1ms idle=362.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:02.779 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms idle=366.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:02.779 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:38:02.780 [error] #PID<0.5327.0> running PinchflatWeb.Endpoint (connection #PID<0.5314.0>, stream id 11) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /_phpinfo.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 /_phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5327.0>, params: %{}, path_info: ["_phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/_phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9Zlf7LZGvp1kAAGgC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5327.0>, params: %{}, path_info: ["_phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-s (truncated) 19:38:04.736 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8KFvN2kOGpM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/99/f2/99f274d62a9c9cc2f19ccff70047f404540f042e81ef9972304e9d3678b18a4c.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 8KFvN2kOGpM: nsig extraction failed: Some formats may be missing n = E9jeXRqU-7td4mX2 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 8KFvN2kOGpM: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 8KFvN2kOGpM: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:38:04.736 [debug] Running yt-dlp command for action: download 19:38:04.740 [debug] QUERY OK source="settings" db=3.1ms idle=327.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:04.743 [debug] QUERY OK source="settings" db=3.1ms idle=330.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:04.747 [debug] QUERY OK source="settings" db=3.3ms 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 [] 19:38:04.748 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8KFvN2kOGpM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e78 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e78 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6e/f1/6ef1f97e14932cc238533182903fb1a22552739fd38c58fa79c7271970eb7995.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:38:05.128 [info] GET /_phpinfo.php 19:38:05.136 [debug] QUERY OK source="settings" db=7.6ms idle=718.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:05.139 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=618.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:05.139 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:38:05.141 [error] #PID<0.5328.0> running PinchflatWeb.Endpoint (connection #PID<0.5314.0>, stream id 12) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /_phpinfo.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 /_phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5328.0>, params: %{}, path_info: ["_phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/_phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9ZuR2L7yuScoAAGgi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5328.0>, params: %{}, path_info: ["_phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-s (truncated) 19:38:09.631 [info] GET /_profiler/phpinfo 19:38:09.635 [debug] QUERY OK source="settings" db=2.7ms idle=1222.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:09.637 [debug] QUERY OK source="settings" db=2.2ms idle=1225.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:09.638 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:38:09.638 [error] #PID<0.5329.0> running PinchflatWeb.Endpoint (connection #PID<0.5314.0>, stream id 13) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /_profiler/phpinfo ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_profiler/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5329.0>, params: %{}, path_info: ["_profiler", "phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/_profiler/phpinfo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9Z_Dj_BAYuM4AAGhC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_profiler/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5329.0>, params: %{}, path_info: ["_profiler", "phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, (truncated) 19:38:10.742 [info] GET /_profiler/phpinfo 19:38:10.746 [debug] QUERY OK source="settings" db=3.1ms queue=0.1ms idle=1107.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:10.748 [debug] QUERY OK source="settings" db=2.1ms idle=1108.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:10.748 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:38:10.749 [error] #PID<0.5330.0> running PinchflatWeb.Endpoint (connection #PID<0.5314.0>, stream id 14) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /_profiler/phpinfo ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_profiler/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5330.0>, params: %{}, path_info: ["_profiler", "phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/_profiler/phpinfo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9aDMYH9AF-ScAAGhi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_profiler/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5330.0>, params: %{}, path_info: ["_profiler", "phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, (truncated) 19:38:13.152 [info] GET /_profiler/phpinfo 19:38:13.156 [debug] QUERY OK source="settings" db=2.9ms idle=743.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:13.159 [debug] QUERY OK source="settings" db=2.5ms idle=746.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:13.159 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:38:13.159 [error] #PID<0.5331.0> running PinchflatWeb.Endpoint (connection #PID<0.5314.0>, stream id 15) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /_profiler/phpinfo ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_profiler/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5331.0>, params: %{}, path_info: ["_profiler", "phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/_profiler/phpinfo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9aMK-SzH-nBwAAGiC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_profiler/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5314.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 41132}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5331.0>, params: %{}, path_info: ["_profiler", "phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, (truncated) 19:38:19.188 [info] GET /_profiler/phpinfo/info.php 19:38:19.197 [debug] QUERY OK source="settings" db=9.1ms idle=778.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:19.202 [debug] QUERY OK source="settings" db=4.1ms queue=0.1ms idle=787.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:19.202 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:38:19.202 [error] #PID<0.5334.0> running PinchflatWeb.Endpoint (connection #PID<0.5333.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /_profiler/phpinfo/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 /_profiler/phpinfo/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5333.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo/info.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 38700}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5334.0>, params: %{}, path_info: ["_profiler", "phpinfo", "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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/_profiler/phpinfo/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9aip6iZA27mwAAHKB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5333.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo/info.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 38700}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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 /_profiler/phpinfo/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5333.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo/info.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 38700}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5334.0>, params: %{}, path_info: ["_profiler", "phpinfo", "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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home (truncated) 19:38:22.114 [info] GET /_profiler/phpinfo/info.php 19:38:22.126 [debug] QUERY OK source="settings" db=11.6ms idle=1705.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:22.132 [debug] QUERY OK source="settings" db=5.0ms queue=0.1ms idle=1717.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:22.132 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:38:22.133 [error] #PID<0.5337.0> running PinchflatWeb.Endpoint (connection #PID<0.5333.0>, stream id 2) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /_profiler/phpinfo/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 /_profiler/phpinfo/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5333.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo/info.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 38700}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5337.0>, params: %{}, path_info: ["_profiler", "phpinfo", "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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/_profiler/phpinfo/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9atjn3D30YGQAAHLB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5333.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo/info.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 38700}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_profiler/phpinfo/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5333.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo/info.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 38700}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5337.0>, params: %{}, path_info: ["_profiler", "phpinfo", "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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home (truncated) 19:38:22.287 [info] {"source":"oban","duration":8121,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:27.447 [info] GET /_profiler/phpinfo/info.php 19:38:27.461 [debug] QUERY OK source="settings" db=12.8ms idle=1038.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:27.465 [debug] QUERY OK source="settings" db=3.3ms queue=0.2ms idle=819.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:27.465 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:38:27.466 [error] #PID<0.5339.0> running PinchflatWeb.Endpoint (connection #PID<0.5338.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /_profiler/phpinfo/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 /_profiler/phpinfo/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5338.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo/info.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42354}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5339.0>, params: %{}, path_info: ["_profiler", "phpinfo", "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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/_profiler/phpinfo/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9bBbOYnaZeQAAAHLh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5338.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo/info.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42354}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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 /_profiler/phpinfo/info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5338.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo/info.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42354}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5339.0>, params: %{}, path_info: ["_profiler", "phpinfo", "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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home (truncated) 19:38:32.310 [info] GET /_profiler/phpinfo/phpinfo.php 19:38:32.326 [debug] QUERY OK source="settings" db=16.1ms idle=900.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:32.332 [debug] QUERY OK source="settings" db=5.3ms queue=0.1ms idle=917.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:32.332 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:38:32.333 [error] #PID<0.5340.0> running PinchflatWeb.Endpoint (connection #PID<0.5338.0>, stream id 2) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /_profiler/phpinfo/phpinfo.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 /_profiler/phpinfo/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5338.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo/phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42354}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5340.0>, params: %{}, path_info: ["_profiler", "phpinfo", "phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/_profiler/phpinfo/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9bTidQAB34oIAAHMB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5338.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo/phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42354}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_profiler/phpinfo/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5338.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo/phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42354}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5340.0>, params: %{}, path_info: ["_profiler", "phpinfo", "phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwa (truncated) 19:38:33.832 [info] GET /_profiler/phpinfo/phpinfo.php 19:38:33.836 [debug] QUERY OK source="settings" db=2.3ms idle=423.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:33.839 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=426.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:33.839 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:38:33.840 [error] #PID<0.5341.0> running PinchflatWeb.Endpoint (connection #PID<0.5338.0>, stream id 3) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /_profiler/phpinfo/phpinfo.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 /_profiler/phpinfo/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5338.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo/phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42354}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5341.0>, params: %{}, path_info: ["_profiler", "phpinfo", "phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/_profiler/phpinfo/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9bZNdTUdgzv0AAHMh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5338.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo/phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42354}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_profiler/phpinfo/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5338.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo/phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42354}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5341.0>, params: %{}, path_info: ["_profiler", "phpinfo", "phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwa (truncated) 19:38:37.044 [info] GET /_profiler/phpinfo/phpinfo.php 19:38:37.047 [debug] QUERY OK source="settings" db=2.7ms idle=1634.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:37.049 [debug] QUERY OK source="settings" db=1.9ms idle=1637.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:37.049 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:38:37.050 [error] #PID<0.5342.0> running PinchflatWeb.Endpoint (connection #PID<0.5338.0>, stream id 4) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /_profiler/phpinfo/phpinfo.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 /_profiler/phpinfo/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5338.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo/phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42354}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5342.0>, params: %{}, path_info: ["_profiler", "phpinfo", "phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/_profiler/phpinfo/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9blLHqesJM30AAHNB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5338.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo/phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42354}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_profiler/phpinfo/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5338.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo/phpinfo.php", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42354}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5342.0>, params: %{}, path_info: ["_profiler", "phpinfo", "phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwa (truncated) 19:38:46.504 [info] GET /wp-config 19:38:46.512 [debug] QUERY OK source="settings" db=7.0ms idle=1095.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:46.516 [debug] QUERY OK source="settings" db=3.5ms queue=0.2ms idle=1102.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:46.516 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:38:46.517 [error] #PID<0.5344.0> running PinchflatWeb.Endpoint (connection #PID<0.5343.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /wp-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 /wp-config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5343.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 47522}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5344.0>, params: %{}, path_info: ["wp-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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/wp-config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9cIapAKMr3-4AAHNh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5343.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 47522}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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 /wp-config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5343.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 47522}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5344.0>, params: %{}, path_info: ["wp-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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2 (truncated) 19:38:48.452 [info] GET /wp-config 19:38:48.455 [debug] QUERY OK source="settings" db=2.4ms idle=604.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:38:48.457 [debug] QUERY OK source="settings" db=2.3ms 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 [] 19:38:48.458 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 19:38:48.458 [error] #PID<0.5345.0> running PinchflatWeb.Endpoint (connection #PID<0.5343.0>, stream id 2) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /wp-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 /wp-config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5343.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 47522}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5345.0>, params: %{}, path_info: ["wp-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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "45.148.10.115"} ], request_path: "/wp-config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHJ9cPrBaR6kiaIAAHOB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5343.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 47522}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5343.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 47522}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0", "x-forwarded-for" => "45.148.10.115", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "45.148.10.115" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.5345.0>, params: %{}, path_info: ["wp-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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}, {"x-forwarded-for", "45.148.10.115"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2 (truncated) 19:38:52.293 [info] {"source":"oban","duration":4483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:00.556 [info] {"source":"oban","duration":286,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:39:22.298 [info] {"source":"oban","duration":4727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:52.304 [info] {"source":"oban","duration":4664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:00.557 [info] {"source":"oban","duration":292,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:40:22.308 [info] {"source":"oban","duration":3846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:52.313 [info] {"source":"oban","duration":3290,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:00.558 [info] {"source":"oban","duration":255,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:41:22.321 [info] {"source":"oban","duration":7900,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:22.791 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8KFvN2kOGpM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e78 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e78 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6e/f1/6ef1f97e14932cc238533182903fb1a22552739fd38c58fa79c7271970eb7995.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] 8KFvN2kOGpM: nsig extraction failed: Some formats may be missing n = NPNY7dJ8aOj6p4U ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] 8KFvN2kOGpM: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 8KFvN2kOGpM: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:41:22.969 [debug] Running yt-dlp command for action: download_thumbnail 19:41:22.973 [debug] QUERY OK source="settings" db=2.5ms idle=1554.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:41:22.976 [debug] QUERY OK source="settings" db=2.9ms idle=1556.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:41:22.980 [debug] QUERY OK source="settings" db=2.7ms idle=1193.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:41:22.980 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8KFvN2kOGpM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/91/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/56/51/565168f3858e1c0db7c34fd8b9b5a6c308a42ba1f2095f3f419c75a96826f4c9.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:41:52.328 [info] {"source":"oban","duration":5570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:00.559 [info] {"source":"oban","duration":268,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:42:22.334 [info] {"source":"oban","duration":5390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:52.338 [info] {"source":"oban","duration":3371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:52.649 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8KFvN2kOGpM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/91/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/56/51/565168f3858e1c0db7c34fd8b9b5a6c308a42ba1f2095f3f419c75a96826f4c9.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 8KFvN2kOGpM: nsig extraction failed: Some formats may be missing n = X99pLdm-rf9s3azg ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 8KFvN2kOGpM: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 8KFvN2kOGpM: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:42:52.650 [debug] QUERY OK db=0.1ms idle=1233.6ms begin [] 19:42:52.687 [debug] QUERY OK source="media_items" db=36.8ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 23:41:22Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e78 - Shadow_of_Israphel_Part_34_-_The_Spire.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e78 - Shadow_of_Israphel_Part_34_-_The_Spire.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e78 - Shadow_of_Israphel_Part_34_-_The_Spire.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e78 - Shadow_of_Israphel_Part_34_-_The_Spire-thumb.jpg", ~U[2025-10-27 23:42:52Z], 91] 19:42:52.692 [debug] QUERY OK source="media_metadata" db=4.0ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/91/metadata.json.gz", "/config/metadata/media_items/91/thumbnail.jpg", 91, ~U[2025-10-27 23:42:52Z], ~U[2025-10-27 23:42:52Z]] 19:42:52.768 [debug] QUERY OK db=76.4ms commit [] 19:42:52.852 [debug] QUERY OK source="media_items" db=81.1ms idle=1354.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [185933097, ~U[2025-10-27 23:42:52Z], 91] 19:42:52.854 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:42:52.895 [info] {"args":{"id":91},"id":83,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":358961747,"event":"job:stop","queue_time":17736769013,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:42:52.948 [info] {"args":{"id":92},"id":84,"meta":{},"system_time":1761608572948019246,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:42:52.951 [debug] QUERY OK source="media_items" db=3.0ms idle=551.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" = ?) [92] 19:42:52.951 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:42:52.955 [debug] QUERY OK source="sources" db=3.0ms queue=0.1ms idle=183.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:42:52.958 [debug] QUERY OK source="media_profiles" db=2.7ms queue=0.1ms idle=103.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:42:52.963 [debug] QUERY OK source="media_items" db=4.1ms queue=0.2ms idle=64.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 [92] 19:42:52.968 [debug] QUERY OK source="media_metadata" db=3.0ms idle=17.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [92] 19:42:52.973 [debug] QUERY OK source="media_profiles" db=4.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] 19:42:52.977 [debug] QUERY OK source="settings" db=3.5ms 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 [] 19:42:52.982 [debug] QUERY OK source="settings" db=4.0ms idle=19.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:42:52.986 [debug] Running yt-dlp command for action: get_downloadable_status 19:42:52.990 [debug] QUERY OK source="settings" db=3.4ms 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 [] 19:42:52.994 [debug] QUERY OK source="settings" db=3.5ms queue=0.1ms 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 [] 19:42:53.000 [debug] QUERY OK source="settings" db=4.9ms idle=21.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:42:53.000 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AkpQN8JXY8g --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f6/8f/f68f996910d30887690875cd708ef42438ee916a1a0158aff2b3708c14e4b9e7.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:43:00.560 [info] {"source":"oban","duration":829,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:43:22.344 [info] {"source":"oban","duration":4697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:52.349 [info] {"source":"oban","duration":5016,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:00.562 [info] {"source":"oban","duration":269,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:44:01.862 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AkpQN8JXY8g --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f6/8f/f68f996910d30887690875cd708ef42438ee916a1a0158aff2b3708c14e4b9e7.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] AkpQN8JXY8g: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] AkpQN8JXY8g: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] AkpQN8JXY8g: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:44:01.862 [debug] Running yt-dlp command for action: download 19:44:01.865 [debug] QUERY OK source="settings" db=2.6ms idle=1436.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:01.868 [debug] QUERY OK source="settings" db=2.5ms idle=1439.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:01.870 [debug] QUERY OK source="settings" db=2.0ms idle=1306.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:44:01.871 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AkpQN8JXY8g --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e79 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e79 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9a/b2/9ab2a3e68790043bc620929168a820950977576bc75d2b2ae5cd1500657a34e2.json --sleep-requests 13 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:44:22.362 [info] {"source":"oban","duration":12115,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:52.366 [info] {"source":"oban","duration":3178,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:00.563 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:45:22.371 [info] {"source":"oban","duration":3301,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:52.377 [info] {"source":"oban","duration":5746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:00.564 [info] {"source":"oban","duration":266,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:46:22.382 [info] {"source":"oban","duration":3793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:52.388 [info] {"source":"oban","duration":5072,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:57.779 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AkpQN8JXY8g --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e79 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e79 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9a/b2/9ab2a3e68790043bc620929168a820950977576bc75d2b2ae5cd1500657a34e2.json --sleep-requests 13 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] AkpQN8JXY8g: nsig extraction failed: Some formats may be missing n = 5XZwdFpN7jmsm4c ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] AkpQN8JXY8g: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] AkpQN8JXY8g: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:46:57.911 [debug] Running yt-dlp command for action: download_thumbnail 19:46:57.918 [debug] QUERY OK source="settings" db=5.7ms idle=821.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:46:57.924 [debug] QUERY OK source="settings" db=5.4ms queue=0.1ms idle=483.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:46:57.927 [debug] QUERY OK source="settings" db=2.4ms 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 [] 19:46:57.928 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AkpQN8JXY8g --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/92/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/50/4d/504d6a96d31568cfcd539b96b780634715175194892ab0ca3e4f7f77d987904d.json --sleep-requests 14 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:47:00.565 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:47:22.393 [info] {"source":"oban","duration":3833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:52.398 [info] {"source":"oban","duration":3529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:00.566 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:48:22.402 [info] {"source":"oban","duration":3869,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:26.800 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AkpQN8JXY8g --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/92/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/50/4d/504d6a96d31568cfcd539b96b780634715175194892ab0ca3e4f7f77d987904d.json --sleep-requests 14 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] AkpQN8JXY8g: nsig extraction failed: Some formats may be missing n = 1d3UjVbWBU-E2jv6 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] AkpQN8JXY8g: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] AkpQN8JXY8g: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:48:26.801 [debug] QUERY OK db=0.1ms idle=1365.3ms begin [] 19:48:26.827 [debug] QUERY OK source="media_items" db=25.7ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 23:46:57Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e79 - Minecraft_-_Shadow_of_Israphel_Part_35_-_Lastwatch_Hold_Minecon_Special.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e79 - Minecraft_-_Shadow_of_Israphel_Part_35_-_Lastwatch_Hold_Minecon_Special.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e79 - Minecraft_-_Shadow_of_Israphel_Part_35_-_Lastwatch_Hold_Minecon_Special.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e79 - Minecraft_-_Shadow_of_Israphel_Part_35_-_Lastwatch_Hold_Minecon_Special-thumb.jpg", ~U[2025-10-27 23:48:26Z], 92] 19:48:26.831 [debug] QUERY OK source="media_metadata" db=4.1ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/92/metadata.json.gz", "/config/metadata/media_items/92/thumbnail.jpg", 92, ~U[2025-10-27 23:48:26Z], ~U[2025-10-27 23:48:26Z]] 19:48:26.908 [debug] QUERY OK db=76.2ms commit [] 19:48:27.318 [debug] QUERY OK source="media_items" db=406.8ms idle=1475.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [177926792, ~U[2025-10-27 23:48:26Z], 92] 19:48:27.326 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:48:27.617 [info] {"args":{"id":92},"id":84,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":334378310,"event":"job:stop","queue_time":18095900727,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:48:27.677 [info] {"args":{"id":93},"id":85,"meta":{},"system_time":1761608907677398415,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:48:27.680 [debug] QUERY OK source="media_items" db=2.7ms idle=359.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [93] 19:48:27.681 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:48:27.683 [debug] QUERY OK source="sources" db=2.2ms queue=0.1ms idle=245.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:48:27.686 [debug] QUERY OK source="media_profiles" db=2.4ms idle=66.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:48:27.690 [debug] QUERY OK source="media_items" db=3.6ms idle=55.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 [93] 19:48:27.694 [debug] QUERY OK source="media_metadata" db=2.6ms idle=14.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [93] 19:48:27.697 [debug] QUERY OK source="media_profiles" db=2.6ms 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] 19:48:27.700 [debug] QUERY OK source="settings" db=2.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 [] 19:48:27.702 [debug] QUERY OK source="settings" db=2.1ms 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 [] 19:48:27.704 [debug] Running yt-dlp command for action: get_downloadable_status 19:48:27.707 [debug] QUERY OK source="settings" db=2.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 [] 19:48:27.709 [debug] QUERY OK source="settings" db=2.0ms 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 [] 19:48:27.712 [debug] QUERY OK source="settings" db=2.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 [] 19:48:27.712 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TIAPug4bcWM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c5/e9/c5e99007afbe68e06084eabfa89ed7f14a00a2d2348a06e7adc938c663ccd01a.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:48:52.408 [info] {"source":"oban","duration":4677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:00.567 [info] {"source":"oban","duration":268,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:49:22.413 [info] {"source":"oban","duration":4750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:49.930 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TIAPug4bcWM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c5/e9/c5e99007afbe68e06084eabfa89ed7f14a00a2d2348a06e7adc938c663ccd01a.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] TIAPug4bcWM: nsig extraction failed: Some formats may be missing n = B07uAgEMS0IxmPWO ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] TIAPug4bcWM: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] TIAPug4bcWM: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:49:49.933 [debug] Running yt-dlp command for action: download 19:49:49.948 [debug] QUERY OK source="settings" db=10.3ms queue=4.9ms idle=846.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:49:49.952 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=507.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:49:49.957 [debug] QUERY OK source="settings" db=4.1ms queue=0.1ms idle=510.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:49:49.957 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TIAPug4bcWM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e80 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e80 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ae/d5/aed5d62ba5e4403158bd9fb4f97335b4399412233fa550add8484ef64f10ab41.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:49:52.418 [info] {"source":"oban","duration":3581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:00.568 [info] {"source":"oban","duration":302,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:50:22.422 [info] {"source":"oban","duration":3417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:52.430 [info] {"source":"oban","duration":7420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:00.569 [info] {"source":"oban","duration":296,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:51:22.435 [info] {"source":"oban","duration":4373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:52.440 [info] {"source":"oban","duration":4618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:53.031 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TIAPug4bcWM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e80 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e80 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ae/d5/aed5d62ba5e4403158bd9fb4f97335b4399412233fa550add8484ef64f10ab41.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] TIAPug4bcWM: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] TIAPug4bcWM: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] TIAPug4bcWM: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:51:53.136 [debug] Running yt-dlp command for action: download_thumbnail 19:51:53.140 [debug] QUERY OK source="settings" db=2.3ms idle=1695.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:51:53.143 [debug] QUERY OK source="settings" db=2.5ms idle=1697.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:51:53.145 [debug] QUERY OK source="settings" db=2.3ms idle=1316.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:51:53.146 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TIAPug4bcWM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/93/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c3/84/c384562ce6eed6740f4be6e55908ac638f8008189f03930568ec0d00a36a2cda.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:52:00.570 [info] {"source":"oban","duration":297,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:52:22.444 [info] {"source":"oban","duration":4265,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:52.449 [info] {"source":"oban","duration":3440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:00.571 [info] {"source":"oban","duration":296,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:53:22.452 [info] {"source":"oban","duration":3049,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:28.048 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TIAPug4bcWM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/93/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c3/84/c384562ce6eed6740f4be6e55908ac638f8008189f03930568ec0d00a36a2cda.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] TIAPug4bcWM: nsig extraction failed: Some formats may be missing n = bxAgVMevLdDR5wez ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] TIAPug4bcWM: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] TIAPug4bcWM: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:53:28.049 [debug] QUERY OK db=0.1ms idle=1602.4ms begin [] 19:53:28.080 [debug] QUERY OK source="media_items" db=30.2ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 23:51:53Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e80 - Minecraft_-_Shadow_of_Israphel_Outtakes_Minecon_Special.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e80 - Minecraft_-_Shadow_of_Israphel_Outtakes_Minecon_Special.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e80 - Minecraft_-_Shadow_of_Israphel_Outtakes_Minecon_Special.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e80 - Minecraft_-_Shadow_of_Israphel_Outtakes_Minecon_Special-thumb.jpg", ~U[2025-10-27 23:53:28Z], 93] 19:53:28.085 [debug] QUERY OK source="media_metadata" db=4.9ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/93/metadata.json.gz", "/config/metadata/media_items/93/thumbnail.jpg", 93, ~U[2025-10-27 23:53:28Z], ~U[2025-10-27 23:53:28Z]] 19:53:28.159 [debug] QUERY OK db=74.3ms commit [] 19:53:28.227 [debug] QUERY OK source="media_items" db=65.2ms idle=1715.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [52942518, ~U[2025-10-27 23:53:28Z], 93] 19:53:28.228 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:53:28.278 [info] {"args":{"id":93},"id":85,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":300551600,"event":"job:stop","queue_time":18429623695,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:53:28.329 [info] {"args":{"id":94},"id":86,"meta":{},"system_time":1761609208329396515,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:53:28.333 [debug] QUERY OK source="media_items" db=3.7ms idle=967.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" = ?) [94] 19:53:28.334 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:53:28.337 [debug] QUERY OK source="sources" db=2.7ms idle=174.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:53:28.340 [debug] QUERY OK source="media_profiles" db=3.1ms queue=0.1ms idle=110.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:53:28.345 [debug] QUERY OK source="media_items" db=4.3ms idle=62.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 [94] 19:53:28.349 [debug] QUERY OK source="media_metadata" db=2.2ms idle=17.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [94] 19:53:28.352 [debug] QUERY OK source="media_profiles" db=3.0ms 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] 19:53:28.355 [debug] QUERY OK source="settings" db=2.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 [] 19:53:28.357 [debug] QUERY OK source="settings" db=2.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 [] 19:53:28.359 [debug] Running yt-dlp command for action: get_downloadable_status 19:53:28.369 [debug] QUERY OK source="settings" db=2.3ms idle=18.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:53:28.372 [debug] QUERY OK source="settings" db=2.4ms 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 [] 19:53:28.374 [debug] QUERY OK source="settings" db=2.1ms 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 [] 19:53:28.375 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-b6gV8Fr3Qk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5a/16/5a16ea97c80759b56de3a6d2a9cd1086a4824dab6d7e43f20a1f6531bdb4f212.json --sleep-requests 14 --sleep-interval 15 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:53:52.458 [info] {"source":"oban","duration":4686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:00.572 [info] {"source":"oban","duration":262,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:54:22.463 [info] {"source":"oban","duration":4994,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:52.470 [info] {"source":"oban","duration":5464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:56.763 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-b6gV8Fr3Qk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5a/16/5a16ea97c80759b56de3a6d2a9cd1086a4824dab6d7e43f20a1f6531bdb4f212.json --sleep-requests 14 --sleep-interval 15 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] -b6gV8Fr3Qk: nsig extraction failed: Some formats may be missing n = sM43EsoBBcGE2NPb ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] -b6gV8Fr3Qk: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] -b6gV8Fr3Qk: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:54:56.763 [debug] Running yt-dlp command for action: download 19:54:56.766 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=900.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:54:56.768 [debug] QUERY OK source="settings" db=2.1ms idle=319.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:54:56.771 [debug] QUERY OK source="settings" db=2.3ms 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 [] 19:54:56.771 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-b6gV8Fr3Qk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e81 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e81 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fc/64/fc642b45297eb88faad5448fbd0b49739377f5759c7543e3cadd936eb53d2ba8.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:55:00.573 [info] {"source":"oban","duration":460,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:55:22.474 [info] {"source":"oban","duration":3767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:52.486 [info] {"source":"oban","duration":7020,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:00.574 [info] {"source":"oban","duration":283,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:56:22.491 [info] {"source":"oban","duration":5169,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:52.496 [info] {"source":"oban","duration":3455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:00.575 [info] {"source":"oban","duration":313,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:57:22.499 [info] {"source":"oban","duration":2989,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:42.943 [info] GET / 19:57:42.943 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 19:57:42.946 [debug] QUERY OK source="settings" db=2.3ms 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 [] 19:57:42.949 [debug] QUERY OK source="media_profiles" db=2.7ms idle=491.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 19:57:42.952 [debug] QUERY OK source="sources" db=2.4ms idle=494.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 19:57:42.967 [debug] QUERY OK source="media_items" db=14.7ms idle=497.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 19:57:42.972 [debug] QUERY OK source="media_items" db=4.5ms idle=69.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 19:57:42.975 [debug] QUERY OK source="settings" db=2.5ms 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 [] 19:57:42.979 [debug] QUERY OK source="settings" db=3.0ms 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 [] 19:57:42.982 [debug] QUERY OK source="settings" db=2.2ms idle=28.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:57:42.987 [debug] QUERY OK source="tasks" db=3.8ms idle=17.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"] 19:57:42.990 [debug] QUERY OK source="media_items" db=2.0ms 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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [94] 19:57:42.996 [debug] QUERY OK source="media_items" db=3.5ms idle=17.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)) [] 19:57:43.003 [debug] QUERY OK source="media_items" db=6.5ms queue=0.1ms 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] 19:57:43.007 [debug] QUERY OK source="sources" db=2.9ms idle=21.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:57:43.015 [debug] QUERY OK source="media_items" db=4.7ms idle=22.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"))) [] 19:57:43.019 [debug] QUERY OK source="media_items" db=4.2ms idle=24.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] 19:57:43.022 [debug] QUERY OK source="sources" db=2.1ms idle=23.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [1, 2] 19:57:43.024 [info] Sent 200 in 81ms 19:57:52.505 [info] {"source":"oban","duration":4768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:00.576 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:58:11.971 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-b6gV8Fr3Qk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e81 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e81 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fc/64/fc642b45297eb88faad5448fbd0b49739377f5759c7543e3cadd936eb53d2ba8.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] -b6gV8Fr3Qk: nsig extraction failed: Some formats may be missing n = jaydrxeQvai8y1_ ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] -b6gV8Fr3Qk: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] -b6gV8Fr3Qk: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:58:12.075 [debug] Running yt-dlp command for action: download_thumbnail 19:58:12.080 [debug] QUERY OK source="settings" db=2.6ms idle=1612.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:58:12.084 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=1615.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:58:12.086 [debug] QUERY OK source="settings" db=2.3ms idle=1619.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:58:12.087 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-b6gV8Fr3Qk --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/94/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/3c/b7/3cb7d9d95a30852401b834c5ea6b23662b20857c0a4831c8579a3bf218d465ff.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:58:22.509 [info] {"source":"oban","duration":3190,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:52.514 [info] {"source":"oban","duration":3353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:00.577 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:59:22.520 [info] {"source":"oban","duration":6135,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:29.189 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-b6gV8Fr3Qk --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/94/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/3c/b7/3cb7d9d95a30852401b834c5ea6b23662b20857c0a4831c8579a3bf218d465ff.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] -b6gV8Fr3Qk: nsig extraction failed: Some formats may be missing n = JM7M-vXz2mI7nIQe ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] -b6gV8Fr3Qk: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] -b6gV8Fr3Qk: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 19:59:29.190 [debug] QUERY OK db=0.1ms idle=725.1ms begin [] 19:59:29.215 [debug] QUERY OK source="media_items" db=25.2ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-27 23:58:11Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e81 - Minecraft_-_Shadow_of_Israphel_Part_36_-_The_Last_Letter.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e81 - Minecraft_-_Shadow_of_Israphel_Part_36_-_The_Last_Letter.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e81 - Minecraft_-_Shadow_of_Israphel_Part_36_-_The_Last_Letter.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e81 - Minecraft_-_Shadow_of_Israphel_Part_36_-_The_Last_Letter-thumb.jpg", ~U[2025-10-27 23:59:29Z], 94] 19:59:29.220 [debug] QUERY OK source="media_metadata" db=4.2ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/94/metadata.json.gz", "/config/metadata/media_items/94/thumbnail.jpg", 94, ~U[2025-10-27 23:59:29Z], ~U[2025-10-27 23:59:29Z]] 19:59:29.333 [debug] QUERY OK db=112.7ms commit [] 19:59:29.401 [debug] QUERY OK source="media_items" db=65.8ms idle=870.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [282278979, ~U[2025-10-27 23:59:29Z], 94] 19:59:29.402 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:59:29.456 [info] {"args":{"id":94},"id":86,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":361073525,"event":"job:stop","queue_time":18730284671,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:59:29.513 [info] {"args":{"id":95},"id":87,"meta":{},"system_time":1761609569513187215,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 19:59:29.517 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=633.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" = ?) [95] 19:59:29.517 [info] User scripts lifecyle file either not present or is empty. Skipping. 19:59:29.520 [debug] QUERY OK source="sources" db=2.6ms idle=184.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 19:59:29.523 [debug] QUERY OK source="media_profiles" db=2.5ms idle=120.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 19:59:29.527 [debug] QUERY OK source="media_items" db=3.6ms idle=67.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 [95] 19:59:29.531 [debug] QUERY OK source="media_metadata" db=2.2ms idle=15.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [95] 19:59:29.533 [debug] QUERY OK source="media_profiles" db=2.3ms 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] 19:59:29.536 [debug] QUERY OK source="settings" db=2.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 [] 19:59:29.539 [debug] QUERY OK source="settings" db=2.6ms 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 [] 19:59:29.541 [debug] Running yt-dlp command for action: get_downloadable_status 19:59:29.551 [debug] QUERY OK source="settings" db=2.9ms idle=20.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:59:29.554 [debug] QUERY OK source="settings" db=2.6ms idle=20.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:59:29.557 [debug] QUERY OK source="settings" db=2.3ms idle=21.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 19:59:29.557 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GDQQ03BEpa8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/00/df/00df68a03457ff3a2484bc8058c81493686d446b2d89765ca544f99a35bd9aae.json --sleep-requests 15 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 19:59:52.527 [info] {"source":"oban","duration":5497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:00:00.578 [info] {"source":"oban","duration":262,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:00:22.539 [info] {"source":"oban","duration":11272,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:00:52.551 [info] {"source":"oban","duration":11964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:00.578 [info] {"source":"oban","duration":247,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:01:04.291 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GDQQ03BEpa8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/00/df/00df68a03457ff3a2484bc8058c81493686d446b2d89765ca544f99a35bd9aae.json --sleep-requests 15 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] GDQQ03BEpa8: nsig extraction failed: Some formats may be missing n = zKik1NdqvO7xcMX ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] GDQQ03BEpa8: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] GDQQ03BEpa8: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:01:04.292 [debug] Running yt-dlp command for action: download 20:01:04.300 [debug] QUERY OK source="settings" db=7.6ms idle=1812.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:01:04.303 [debug] QUERY OK source="settings" db=2.8ms idle=1820.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:01:04.306 [debug] QUERY OK source="settings" db=2.4ms idle=1823.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:01:04.306 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GDQQ03BEpa8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e82 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e82 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e0/d2/e0d2025ae612af50e0c91c0f88e2fd60152c082d269805105a11c8c9022781b3.json --sleep-requests 11 --sleep-interval 15 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:01:22.567 [info] {"source":"oban","duration":14993,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:52.577 [info] {"source":"oban","duration":8346,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:00.580 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:02:22.588 [info] {"source":"oban","duration":11028,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:52.600 [info] {"source":"oban","duration":11126,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:00.581 [info] {"source":"oban","duration":995,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:03:22.609 [info] {"source":"oban","duration":7805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:52.614 [info] {"source":"oban","duration":3277,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:00.583 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:04:22.627 [info] {"source":"oban","duration":13016,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:52.633 [info] {"source":"oban","duration":4588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:56.886 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GDQQ03BEpa8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e82 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e82 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e0/d2/e0d2025ae612af50e0c91c0f88e2fd60152c082d269805105a11c8c9022781b3.json --sleep-requests 11 --sleep-interval 15 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] GDQQ03BEpa8: nsig extraction failed: Some formats may be missing n = a6Ey374LaNUGV39n ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] GDQQ03BEpa8: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] GDQQ03BEpa8: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:04:57.039 [debug] Running yt-dlp command for action: download_thumbnail 20:04:57.046 [debug] QUERY OK source="settings" db=2.2ms 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 [] 20:04:57.049 [debug] QUERY OK source="settings" db=2.4ms idle=539.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:04:57.052 [debug] QUERY OK source="settings" db=2.5ms idle=541.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:04:57.053 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GDQQ03BEpa8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/95/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/77/c6/77c6ecc103a14303fc9cf1fc9f03704f5a892b42d12184ce20a7a382dc1843c3.json --sleep-requests 12 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:05:00.584 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:05:22.638 [info] {"source":"oban","duration":4577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:52.643 [info] {"source":"oban","duration":4033,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:00.585 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:06:03.445 [info] GET / 20:06:03.445 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 20:06:03.450 [debug] QUERY OK source="settings" db=4.1ms idle=935.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:06:03.456 [debug] QUERY OK source="media_profiles" db=6.0ms idle=939.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 20:06:03.460 [debug] QUERY OK source="sources" db=3.2ms queue=0.4ms idle=946.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 20:06:03.504 [debug] QUERY OK source="media_items" db=43.8ms idle=950.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:06:03.515 [debug] QUERY OK source="media_items" db=9.7ms queue=0.1ms idle=398.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 20:06:03.517 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=65.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:06:03.526 [debug] QUERY OK source="settings" db=8.5ms queue=0.1ms idle=61.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:06:03.552 [debug] QUERY OK source="settings" db=24.0ms idle=67.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:06:03.560 [debug] QUERY OK source="tasks" db=5.2ms idle=49.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"] 20:06:03.564 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=45.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [95] 20:06:03.582 [debug] QUERY OK source="media_items" db=15.4ms queue=0.2ms idle=48.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)) [] 20:06:03.626 [debug] QUERY OK source="media_items" db=43.3ms queue=0.1ms idle=56.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] 20:06:03.633 [debug] QUERY OK source="sources" db=4.5ms queue=0.2ms idle=76.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 20:06:03.641 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=77.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"))) [] 20:06:03.659 [debug] QUERY OK source="media_items" db=17.8ms queue=0.1ms idle=76.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] 20:06:03.665 [debug] QUERY OK source="sources" db=4.9ms queue=0.1ms idle=77.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [1, 2] 20:06:03.669 [info] Sent 200 in 223ms 20:06:15.171 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GDQQ03BEpa8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/95/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/77/c6/77c6ecc103a14303fc9cf1fc9f03704f5a892b42d12184ce20a7a382dc1843c3.json --sleep-requests 12 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] GDQQ03BEpa8: nsig extraction failed: Some formats may be missing n = OJWQKnsOuYvRRyhZ ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] GDQQ03BEpa8: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] GDQQ03BEpa8: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:06:15.171 [debug] QUERY OK db=0.0ms idle=1656.8ms begin [] 20:06:15.199 [debug] QUERY OK source="media_items" db=27.5ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 00:04:56Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e82 - Minecraft_-_Shadow_of_Israphel_Part_37_-_Ballooning.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e82 - Minecraft_-_Shadow_of_Israphel_Part_37_-_Ballooning.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e82 - Minecraft_-_Shadow_of_Israphel_Part_37_-_Ballooning.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e82 - Minecraft_-_Shadow_of_Israphel_Part_37_-_Ballooning-thumb.jpg", ~U[2025-10-28 00:06:15Z], 95] 20:06:15.204 [debug] QUERY OK source="media_metadata" db=4.2ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/95/metadata.json.gz", "/config/metadata/media_items/95/thumbnail.jpg", 95, ~U[2025-10-28 00:06:15Z], ~U[2025-10-28 00:06:15Z]] 20:06:15.289 [debug] QUERY OK db=84.6ms commit [] 20:06:15.356 [debug] QUERY OK source="media_items" db=64.9ms idle=1776.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [471253721, ~U[2025-10-28 00:06:15Z], 95] 20:06:15.358 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:06:15.398 [info] {"args":{"id":95},"id":87,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":405845016,"event":"job:stop","queue_time":19091462632,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:06:15.449 [info] {"args":{"id":96},"id":88,"meta":{},"system_time":1761609975449580759,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:06:15.453 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=283.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" = ?) [96] 20:06:15.453 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:06:15.457 [debug] QUERY OK source="sources" db=2.8ms idle=165.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 20:06:15.460 [debug] QUERY OK source="media_profiles" db=2.7ms idle=100.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:06:15.464 [debug] QUERY OK source="media_items" db=3.8ms idle=62.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 [96] 20:06:15.469 [debug] QUERY OK source="media_metadata" db=3.2ms idle=16.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [96] 20:06:15.472 [debug] QUERY OK source="media_profiles" db=2.8ms queue=0.1ms idle=16.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:06:15.475 [debug] QUERY OK source="settings" db=2.4ms 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 [] 20:06:15.480 [debug] QUERY OK source="settings" db=4.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 [] 20:06:15.482 [debug] Running yt-dlp command for action: get_downloadable_status 20:06:15.485 [debug] QUERY OK source="settings" db=2.2ms idle=18.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:06:15.488 [debug] QUERY OK source="settings" db=2.5ms 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 [] 20:06:15.491 [debug] QUERY OK source="settings" db=2.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 [] 20:06:15.491 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3mUlReQx32Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/92/86/9286e3d484a022c729882b9f9bb7f974c3cb653ae789830c6b43a2e33c44ce3d.json --sleep-requests 14 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:06:22.648 [info] {"source":"oban","duration":4093,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:52.659 [info] {"source":"oban","duration":10125,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:00.586 [info] {"source":"oban","duration":275,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:07:22.665 [info] {"source":"oban","duration":4545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:44.322 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3mUlReQx32Q --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/92/86/9286e3d484a022c729882b9f9bb7f974c3cb653ae789830c6b43a2e33c44ce3d.json --sleep-requests 14 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 3mUlReQx32Q: nsig extraction failed: Some formats may be missing n = q8y6NNSii6CH4aYl ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 3mUlReQx32Q: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 3mUlReQx32Q: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:07:44.323 [debug] Running yt-dlp command for action: download 20:07:44.326 [debug] QUERY OK source="settings" db=2.4ms idle=1792.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:07:44.329 [debug] QUERY OK source="settings" db=2.8ms idle=1795.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:07:44.332 [debug] QUERY OK source="settings" db=2.6ms idle=1798.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:07:44.332 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3mUlReQx32Q --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e83 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e83 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8d/d4/8dd4a0b4374299614ed91586d1472f5e39981643c4ea8494cf63ea647d9f2d39.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:07:52.670 [info] {"source":"oban","duration":5284,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:00.587 [info] {"source":"oban","duration":271,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:08:22.675 [info] {"source":"oban","duration":3332,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:52.682 [info] {"source":"oban","duration":7098,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:00.588 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:09:22.687 [info] {"source":"oban","duration":3758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:52.693 [info] {"source":"oban","duration":5053,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:00.589 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:10:22.699 [info] {"source":"oban","duration":4417,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:52.703 [info] {"source":"oban","duration":3802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:00.590 [info] {"source":"oban","duration":263,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:11:22.710 [info] {"source":"oban","duration":5720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:52.720 [info] {"source":"oban","duration":8605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:00.591 [info] {"source":"oban","duration":317,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:12:04.436 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3mUlReQx32Q --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e83 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e83 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8d/d4/8dd4a0b4374299614ed91586d1472f5e39981643c4ea8494cf63ea647d9f2d39.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 3mUlReQx32Q: nsig extraction failed: Some formats may be missing n = nLzjb5pLC08o5PSm ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 3mUlReQx32Q: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 3mUlReQx32Q: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:12:04.537 [debug] Running yt-dlp command for action: download_thumbnail 20:12:04.549 [debug] QUERY OK source="settings" db=3.2ms queue=0.2ms idle=1979.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:12:04.552 [debug] QUERY OK source="settings" db=2.6ms queue=0.2ms idle=1983.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:12:04.558 [debug] QUERY OK source="settings" db=5.7ms queue=0.3ms idle=1986.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:12:04.560 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3mUlReQx32Q --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/96/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/3f/1b/3f1b87b44986cf4184590da9ab15611cecf4620926b858df00d86347de430a9c.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:12:22.724 [info] {"source":"oban","duration":3573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:52.738 [info] {"source":"oban","duration":12884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:00.593 [info] {"source":"oban","duration":1294,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:13:22.753 [info] {"source":"oban","duration":13649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:28.103 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=3mUlReQx32Q --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/96/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/3f/1b/3f1b87b44986cf4184590da9ab15611cecf4620926b858df00d86347de430a9c.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 3mUlReQx32Q: nsig extraction failed: Some formats may be missing n = Y6Ir_yg1od7lCpVr ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 3mUlReQx32Q: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 3mUlReQx32Q: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:13:28.104 [debug] QUERY OK db=0.5ms idle=1522.0ms begin [] 20:13:28.154 [debug] QUERY OK source="media_items" db=49.8ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 00:12:04Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e83 - Minecraft_-_Shadow_of_Israphel_Part_38_-_The_Hand.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e83 - Minecraft_-_Shadow_of_Israphel_Part_38_-_The_Hand.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e83 - Minecraft_-_Shadow_of_Israphel_Part_38_-_The_Hand.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e83 - Minecraft_-_Shadow_of_Israphel_Part_38_-_The_Hand-thumb.jpg", ~U[2025-10-28 00:13:28Z], 96] 20:13:28.162 [debug] QUERY OK source="media_metadata" db=7.2ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/96/metadata.json.gz", "/config/metadata/media_items/96/thumbnail.jpg", 96, ~U[2025-10-28 00:13:28Z], ~U[2025-10-28 00:13:28Z]] 20:13:28.258 [debug] QUERY OK db=96.1ms commit [] 20:13:28.335 [debug] QUERY OK source="media_items" db=72.7ms idle=1680.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [401638767, ~U[2025-10-28 00:13:28Z], 96] 20:13:28.337 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:13:28.424 [info] {"args":{"id":96},"id":88,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":432887872,"event":"job:stop","queue_time":19497404663,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:13:28.491 [info] {"args":{"id":97},"id":89,"meta":{},"system_time":1761610408490815800,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:13:28.518 [debug] QUERY OK source="media_items" db=26.6ms idle=232.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" = ?) [97] 20:13:28.518 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:13:28.525 [debug] QUERY OK source="sources" db=5.6ms queue=1.0ms idle=248.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 20:13:28.530 [debug] QUERY OK source="media_profiles" db=3.3ms queue=0.2ms idle=191.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:13:28.536 [debug] QUERY OK source="media_items" db=5.2ms queue=0.1ms idle=106.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 [97] 20:13:28.543 [debug] QUERY OK source="media_metadata" db=3.4ms idle=48.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [97] 20:13:28.548 [debug] QUERY OK source="media_profiles" db=4.5ms queue=0.1ms 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] 20:13:28.554 [debug] QUERY OK source="settings" db=5.1ms queue=0.1ms idle=23.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:13:28.565 [debug] QUERY OK source="settings" db=11.2ms idle=24.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:13:28.569 [debug] Running yt-dlp command for action: get_downloadable_status 20:13:28.576 [debug] QUERY OK source="settings" db=4.5ms queue=0.1ms 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 [] 20:13:28.581 [debug] QUERY OK source="settings" db=4.3ms 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 [] 20:13:28.585 [debug] QUERY OK source="settings" db=3.6ms queue=0.1ms 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 [] 20:13:28.585 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EVyA4kOyLf0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fa/03/fa0379499c11999ab3b7d634c831b1c14524a05302ee2556436458c9c13839f0.json --sleep-requests 11 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:13:52.758 [info] {"source":"oban","duration":4812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:00.594 [info] {"source":"oban","duration":1070,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:14:22.764 [info] {"source":"oban","duration":4754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:39.837 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EVyA4kOyLf0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fa/03/fa0379499c11999ab3b7d634c831b1c14524a05302ee2556436458c9c13839f0.json --sleep-requests 11 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] EVyA4kOyLf0: nsig extraction failed: Some formats may be missing n = f5JaO85bONIsxf-8 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] EVyA4kOyLf0: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] EVyA4kOyLf0: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:14:39.837 [debug] Running yt-dlp command for action: download 20:14:39.845 [debug] QUERY OK source="settings" db=7.6ms idle=1255.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:14:39.850 [debug] QUERY OK source="settings" db=4.2ms idle=1263.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:14:39.853 [debug] QUERY OK source="settings" db=2.3ms idle=1267.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:14:39.854 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EVyA4kOyLf0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e84 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e84 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8a/dc/8adc03c92e6528b21b4502f0c07d98eee8ad5dcb21955cf5a7c3d30ec880cff2.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:14:52.774 [info] {"source":"oban","duration":8896,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:00.596 [info] {"source":"oban","duration":301,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:15:22.785 [info] {"source":"oban","duration":9421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:52.792 [info] {"source":"oban","duration":6607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:00.597 [info] {"source":"oban","duration":304,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:16:22.799 [info] {"source":"oban","duration":5251,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:52.808 [info] {"source":"oban","duration":9201,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:00.598 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:17:22.814 [info] {"source":"oban","duration":3272,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:52.823 [info] {"source":"oban","duration":8761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:00.599 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:18:10.216 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EVyA4kOyLf0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e84 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e84 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8a/dc/8adc03c92e6528b21b4502f0c07d98eee8ad5dcb21955cf5a7c3d30ec880cff2.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] EVyA4kOyLf0: nsig extraction failed: Some formats may be missing n = mR31X8bqhsG0lzA ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] EVyA4kOyLf0: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] EVyA4kOyLf0: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:18:10.309 [debug] Running yt-dlp command for action: download_thumbnail 20:18:10.321 [debug] QUERY OK source="settings" db=10.4ms idle=1712.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:18:10.325 [debug] QUERY OK source="settings" db=3.7ms queue=0.1ms idle=1722.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:18:10.329 [debug] QUERY OK source="settings" db=3.1ms queue=0.1ms idle=1726.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:18:10.329 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EVyA4kOyLf0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/97/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/22/05/2205edfe495e9057b485e1805a0c77a163d788e23104af8fd4a8f9302c00a8a3.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:18:22.828 [info] {"source":"oban","duration":3330,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:52.833 [info] {"source":"oban","duration":4595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:00.601 [info] {"source":"oban","duration":248,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:19:22.223 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EVyA4kOyLf0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/97/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/22/05/2205edfe495e9057b485e1805a0c77a163d788e23104af8fd4a8f9302c00a8a3.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] EVyA4kOyLf0: nsig extraction failed: Some formats may be missing n = Vg5JTKanwllftEeM ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] EVyA4kOyLf0: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] EVyA4kOyLf0: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:19:22.224 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1623.6ms begin [] 20:19:22.291 [debug] QUERY OK source="media_items" db=66.0ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 00:18:10Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e84 - Shadow_of_Israphel_Part_39_-_Doppelgangers.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e84 - Shadow_of_Israphel_Part_39_-_Doppelgangers.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e84 - Shadow_of_Israphel_Part_39_-_Doppelgangers.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e84 - Shadow_of_Israphel_Part_39_-_Doppelgangers-thumb.jpg", ~U[2025-10-28 00:19:22Z], 97] 20:19:22.337 [debug] QUERY OK source="media_metadata" db=45.9ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/97/metadata.json.gz", "/config/metadata/media_items/97/thumbnail.jpg", 97, ~U[2025-10-28 00:19:22Z], ~U[2025-10-28 00:19:22Z]] 20:19:22.424 [debug] QUERY OK db=86.6ms commit [] 20:19:22.555 [debug] QUERY OK source="media_items" db=127.4ms idle=1827.4ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [246102649, ~U[2025-10-28 00:19:22Z], 97] 20:19:22.557 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:19:22.659 [info] {"args":{"id":97},"id":89,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":354067156,"event":"job:stop","queue_time":19930430702,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:19:22.764 [info] {"args":{"id":98},"id":90,"meta":{},"system_time":1761610762764561859,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:19:22.772 [debug] QUERY OK source="media_items" db=7.2ms queue=0.1ms idle=340.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [98] 20:19:22.773 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:19:22.779 [debug] QUERY OK source="sources" db=4.5ms queue=1.1ms idle=217.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 20:19:22.786 [debug] QUERY OK source="media_profiles" db=5.8ms queue=0.2ms idle=179.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:19:22.795 [debug] QUERY OK source="media_items" db=8.0ms queue=0.2ms idle=127.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 [98] 20:19:22.804 [debug] QUERY OK source="media_metadata" db=4.1ms idle=36.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [98] 20:19:22.809 [debug] QUERY OK source="media_profiles" db=4.5ms 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] 20:19:22.815 [debug] QUERY OK source="settings" db=4.7ms queue=0.2ms idle=31.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:19:22.819 [debug] QUERY OK source="settings" db=3.8ms queue=0.1ms idle=29.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:19:22.823 [debug] Running yt-dlp command for action: get_downloadable_status 20:19:22.832 [debug] QUERY OK source="settings" db=6.5ms queue=0.1ms 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 [] 20:19:22.837 [debug] QUERY OK source="settings" db=4.2ms queue=0.2ms idle=27.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:19:22.840 [info] {"source":"oban","duration":6809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:22.842 [debug] QUERY OK source="settings" db=5.1ms 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 [] 20:19:22.844 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xaCR6xNQe9w --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/38/4c/384ca1177d53e1d12b6769b8cb3d2789e490bcb7c4c5e10a2b465abfe19d78eb.json --sleep-requests 13 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:19:52.848 [info] {"source":"oban","duration":6744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:00.603 [info] {"source":"oban","duration":1577,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:20:22.854 [info] {"source":"oban","duration":5225,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:46.192 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xaCR6xNQe9w --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/38/4c/384ca1177d53e1d12b6769b8cb3d2789e490bcb7c4c5e10a2b465abfe19d78eb.json --sleep-requests 13 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] xaCR6xNQe9w: nsig extraction failed: Some formats may be missing n = 3lX6HWnUddbdRtdK ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] xaCR6xNQe9w: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] xaCR6xNQe9w: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:20:46.193 [debug] Running yt-dlp command for action: download 20:20:46.198 [debug] QUERY OK source="settings" db=3.8ms queue=0.7ms idle=1580.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:20:46.203 [debug] QUERY OK source="settings" db=5.0ms idle=1585.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:20:46.207 [debug] QUERY OK source="settings" db=4.0ms queue=0.1ms idle=1590.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:20:46.208 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xaCR6xNQe9w --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e85 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e85 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7d/3c/7d3cdab5ca0395940707af4eb4874dd4ac462d5fc04ccc39809801c893579aaa.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:20:52.866 [info] {"source":"oban","duration":10982,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:00.606 [info] {"source":"oban","duration":2233,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:21:22.875 [info] {"source":"oban","duration":7638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:52.888 [info] {"source":"oban","duration":10379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:00.608 [info] {"source":"oban","duration":1286,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:22:22.894 [info] {"source":"oban","duration":5825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:52.899 [info] {"source":"oban","duration":4031,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:00.609 [info] {"source":"oban","duration":343,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:23:22.915 [info] {"source":"oban","duration":14805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:39.406 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xaCR6xNQe9w --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e85 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e85 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7d/3c/7d3cdab5ca0395940707af4eb4874dd4ac462d5fc04ccc39809801c893579aaa.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] xaCR6xNQe9w: nsig extraction failed: Some formats may be missing n = -Qu9mx5YAEagCEWB ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] xaCR6xNQe9w: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] xaCR6xNQe9w: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:23:39.556 [debug] Running yt-dlp command for action: download_thumbnail 20:23:39.562 [debug] QUERY OK source="settings" db=2.4ms idle=1868.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:23:39.564 [debug] QUERY OK source="settings" db=2.2ms idle=911.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:23:39.567 [debug] QUERY OK source="settings" db=2.2ms 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 [] 20:23:39.567 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xaCR6xNQe9w --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/98/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/cf/23/cf239be19d7fdec6c7598d21bc85ed6fdc2f92770bcb18738feaec38206ed67b.json --sleep-requests 11 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:23:52.922 [info] {"source":"oban","duration":6208,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:00.610 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:24:22.935 [info] {"source":"oban","duration":11698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:51.324 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xaCR6xNQe9w --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/98/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/cf/23/cf239be19d7fdec6c7598d21bc85ed6fdc2f92770bcb18738feaec38206ed67b.json --sleep-requests 11 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] xaCR6xNQe9w: nsig extraction failed: Some formats may be missing n = s681N38SlDjyIT1P ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] xaCR6xNQe9w: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] xaCR6xNQe9w: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:24:51.325 [debug] QUERY OK db=0.1ms idle=673.6ms begin [] 20:24:51.360 [debug] QUERY OK source="media_items" db=34.2ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 00:23:39Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e85 - Shadow_of_Israphel_Part_40_-_Facility_4.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e85 - Shadow_of_Israphel_Part_40_-_Facility_4.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e85 - Shadow_of_Israphel_Part_40_-_Facility_4.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e85 - Shadow_of_Israphel_Part_40_-_Facility_4-thumb.jpg", ~U[2025-10-28 00:24:51Z], 98] 20:24:51.364 [debug] QUERY OK source="media_metadata" db=3.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/98/metadata.json.gz", "/config/metadata/media_items/98/thumbnail.jpg", 98, ~U[2025-10-28 00:24:51Z], ~U[2025-10-28 00:24:51Z]] 20:24:51.472 [debug] QUERY OK db=107.8ms commit [] 20:24:51.575 [debug] QUERY OK source="media_items" db=99.5ms idle=823.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [206013171, ~U[2025-10-28 00:24:51Z], 98] 20:24:51.577 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:24:51.640 [info] {"args":{"id":98},"id":90,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":328812831,"event":"job:stop","queue_time":20284665690,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:24:51.710 [info] {"args":{"id":99},"id":91,"meta":{},"system_time":1761611091709828591,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:24:51.713 [debug] QUERY OK source="media_items" db=3.2ms idle=533.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" = ?) [99] 20:24:51.714 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:24:51.717 [debug] QUERY OK source="sources" db=2.9ms idle=241.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 20:24:51.722 [debug] QUERY OK source="media_profiles" db=4.6ms idle=142.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:24:51.728 [debug] QUERY OK source="media_items" db=4.8ms idle=83.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 [99] 20:24:51.738 [debug] QUERY OK source="media_metadata" db=7.3ms idle=20.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [99] 20:24:51.742 [debug] QUERY OK source="media_profiles" db=4.2ms 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] 20:24:51.746 [debug] QUERY OK source="settings" db=2.8ms 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 [] 20:24:51.749 [debug] QUERY OK source="settings" db=2.4ms 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 [] 20:24:51.752 [debug] Running yt-dlp command for action: get_downloadable_status 20:24:51.757 [debug] QUERY OK source="settings" db=3.7ms 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 [] 20:24:51.761 [debug] QUERY OK source="settings" db=3.5ms queue=0.1ms idle=20.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:24:51.765 [debug] QUERY OK source="settings" db=3.3ms queue=0.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 [] 20:24:51.766 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CSgAs5APDG4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/af/81/af813781034af69a3f18ef6976dfecf5429289f8387fd0a25b3e2fdee217b449.json --sleep-requests 11 --sleep-interval 14 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:24:52.950 [info] {"source":"oban","duration":14590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:00.611 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:25:22.956 [info] {"source":"oban","duration":5057,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:52.962 [info] {"source":"oban","duration":4331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:00.612 [info] {"source":"oban","duration":276,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:26:02.350 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CSgAs5APDG4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/af/81/af813781034af69a3f18ef6976dfecf5429289f8387fd0a25b3e2fdee217b449.json --sleep-requests 11 --sleep-interval 14 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] CSgAs5APDG4: nsig extraction failed: Some formats may be missing n = -tcRDYfYXVCImM_P ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] CSgAs5APDG4: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] CSgAs5APDG4: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:26:02.351 [debug] Running yt-dlp command for action: download 20:26:02.354 [debug] QUERY OK source="settings" db=2.7ms idle=770.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:26:02.356 [debug] QUERY OK source="settings" db=2.3ms idle=695.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:26:02.359 [debug] QUERY OK source="settings" db=2.2ms idle=698.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:26:02.359 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CSgAs5APDG4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e86 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e86 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/37/ee/37ee20bfb84dd80e6246fa41276546d0dd75d9634ea7c1a35091d4750abeaf02.json --sleep-requests 15 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:26:22.982 [info] {"source":"oban","duration":19586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:52.985 [info] {"source":"oban","duration":3083,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:00.613 [info] {"source":"oban","duration":309,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:27:22.990 [info] {"source":"oban","duration":4126,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:52.997 [info] {"source":"oban","duration":5302,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:00.614 [info] {"source":"oban","duration":273,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:28:23.000 [info] {"source":"oban","duration":3175,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:53.007 [info] {"source":"oban","duration":3666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:00.615 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:29:07.194 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CSgAs5APDG4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e86 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e86 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/37/ee/37ee20bfb84dd80e6246fa41276546d0dd75d9634ea7c1a35091d4750abeaf02.json --sleep-requests 15 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] CSgAs5APDG4: nsig extraction failed: Some formats may be missing n = dqtFA20HjWWFMZY ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] CSgAs5APDG4: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] CSgAs5APDG4: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:29:07.286 [debug] Running yt-dlp command for action: download_thumbnail 20:29:07.294 [debug] QUERY OK source="settings" db=3.6ms queue=0.4ms idle=1618.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:29:07.297 [debug] QUERY OK source="settings" db=3.0ms idle=664.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:29:07.305 [debug] QUERY OK source="settings" db=7.1ms idle=626.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:29:07.306 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CSgAs5APDG4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/99/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/4a/90/4a905b7e7882074622075ad6bad9b0c2825e37bcf39b79d1aa082e0f8d06e4b7.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:29:23.011 [info] {"source":"oban","duration":3584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:53.015 [info] {"source":"oban","duration":3371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:00.617 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:30:23.020 [info] {"source":"oban","duration":4681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:42.450 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CSgAs5APDG4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/99/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/4a/90/4a905b7e7882074622075ad6bad9b0c2825e37bcf39b79d1aa082e0f8d06e4b7.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] CSgAs5APDG4: nsig extraction failed: Some formats may be missing n = KDGq5p_fuyrp01n5 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] CSgAs5APDG4: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] CSgAs5APDG4: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:30:42.451 [debug] QUERY OK db=0.1ms idle=1776.4ms begin [] 20:30:42.484 [debug] QUERY OK source="media_items" db=32.6ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 00:29:07Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e86 - Shadow_of_Israphel_Part_41_-_Far_From_Home.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e86 - Shadow_of_Israphel_Part_41_-_Far_From_Home.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e86 - Shadow_of_Israphel_Part_41_-_Far_From_Home.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e86 - Shadow_of_Israphel_Part_41_-_Far_From_Home-thumb.jpg", ~U[2025-10-28 00:30:42Z], 99] 20:30:42.488 [debug] QUERY OK source="media_metadata" db=3.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/99/metadata.json.gz", "/config/metadata/media_items/99/thumbnail.jpg", 99, ~U[2025-10-28 00:30:42Z], ~U[2025-10-28 00:30:42Z]] 20:30:42.548 [debug] QUERY OK db=60.0ms commit [] 20:30:42.648 [debug] QUERY OK source="media_items" db=97.3ms idle=1876.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [207452619, ~U[2025-10-28 00:30:42Z], 99] 20:30:42.650 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:30:42.692 [info] {"args":{"id":99},"id":91,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":350940341,"event":"job:stop","queue_time":20613645766,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:30:42.744 [info] {"args":{"id":100},"id":92,"meta":{},"system_time":1761611442743799999,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:30:42.747 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=195.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [100] 20:30:42.747 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:30:42.750 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=99.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 20:30:42.754 [debug] QUERY OK source="media_profiles" db=2.7ms idle=76.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:30:42.758 [debug] QUERY OK source="media_items" db=3.7ms idle=61.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 [100] 20:30:42.763 [debug] QUERY OK source="media_metadata" db=2.9ms idle=16.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [100] 20:30:42.766 [debug] QUERY OK source="media_profiles" db=2.4ms idle=16.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:30:42.769 [debug] QUERY OK source="settings" db=2.2ms 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 [] 20:30:42.771 [debug] QUERY OK source="settings" db=2.5ms 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 [] 20:30:42.773 [debug] Running yt-dlp command for action: get_downloadable_status 20:30:42.777 [debug] QUERY OK source="settings" db=2.3ms idle=16.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:30:42.780 [debug] QUERY OK source="settings" db=2.8ms 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 [] 20:30:42.783 [debug] QUERY OK source="settings" db=2.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 [] 20:30:42.783 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=oZezE9It6HE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4c/f4/4cf4fdf0441c25711b38ab9da7e52c6113d92cb66a74e0ed3d80bb07f06a0f01.json --sleep-requests 13 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:30:53.025 [info] {"source":"oban","duration":5057,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:00.619 [info] {"source":"oban","duration":311,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:31:23.030 [info] {"source":"oban","duration":4194,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:53.036 [info] {"source":"oban","duration":4936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:00.620 [info] {"source":"oban","duration":337,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:32:05.655 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=oZezE9It6HE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4c/f4/4cf4fdf0441c25711b38ab9da7e52c6113d92cb66a74e0ed3d80bb07f06a0f01.json --sleep-requests 13 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] oZezE9It6HE: nsig extraction failed: Some formats may be missing n = 3EP1WC7Mt1H6VD_i ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] oZezE9It6HE: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] oZezE9It6HE: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:32:05.657 [debug] Running yt-dlp command for action: download 20:32:05.660 [debug] QUERY OK source="settings" db=3.3ms queue=0.1ms idle=1911.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:32:05.664 [debug] QUERY OK source="settings" db=2.6ms idle=982.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:32:05.667 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=985.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:32:05.667 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=oZezE9It6HE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e87 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e87 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/06/3f/063f6fc614a9a4a0ce7d0963df47e3d1175c2e52ab6de5e61038f71f29245588.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:32:23.041 [info] {"source":"oban","duration":3575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:53.043 [info] {"source":"oban","duration":2282,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:00.622 [info] {"source":"oban","duration":256,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:33:23.049 [info] {"source":"oban","duration":4432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:53.053 [info] {"source":"oban","duration":3615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:00.626 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:34:23.057 [info] {"source":"oban","duration":3323,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:53.061 [info] {"source":"oban","duration":4121,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:00.628 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:35:23.068 [info] {"source":"oban","duration":6057,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:33.558 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=oZezE9It6HE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e87 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e87 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/06/3f/063f6fc614a9a4a0ce7d0963df47e3d1175c2e52ab6de5e61038f71f29245588.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] oZezE9It6HE: nsig extraction failed: Some formats may be missing n = gifEHmZ73uvh-pC ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] oZezE9It6HE: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] oZezE9It6HE: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:35:33.642 [debug] Running yt-dlp command for action: download_thumbnail 20:35:33.646 [debug] QUERY OK source="settings" db=2.1ms idle=952.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:35:33.648 [debug] QUERY OK source="settings" db=2.2ms idle=955.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:35:33.650 [debug] QUERY OK source="settings" db=1.9ms idle=957.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:35:33.651 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=oZezE9It6HE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/100/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/63/5b/635b61c920a7f2074cadaecf464b2476f1c153ce94e041b721e054ae5c53464f.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:35:53.072 [info] {"source":"oban","duration":3206,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:00.630 [info] {"source":"oban","duration":311,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:36:23.088 [info] {"source":"oban","duration":5795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:53.093 [info] {"source":"oban","duration":3478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:00.631 [info] {"source":"oban","duration":289,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:37:09.648 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=oZezE9It6HE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/100/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/63/5b/635b61c920a7f2074cadaecf464b2476f1c153ce94e041b721e054ae5c53464f.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] oZezE9It6HE: nsig extraction failed: Some formats may be missing n = vCiA0uHarVafG1SV ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] oZezE9It6HE: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] oZezE9It6HE: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:37:09.650 [debug] QUERY OK db=0.1ms idle=1641.8ms begin [] 20:37:09.680 [debug] QUERY OK source="media_items" db=29.1ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 00:35:33Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e87 - Shadow_of_Israphel_Part_42_-_The_Oasis.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e87 - Shadow_of_Israphel_Part_42_-_The_Oasis.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e87 - Shadow_of_Israphel_Part_42_-_The_Oasis.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e87 - Shadow_of_Israphel_Part_42_-_The_Oasis-thumb.jpg", ~U[2025-10-28 00:37:09Z], 100] 20:37:09.686 [debug] QUERY OK source="media_metadata" db=5.5ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/100/metadata.json.gz", "/config/metadata/media_items/100/thumbnail.jpg", 100, ~U[2025-10-28 00:37:09Z], ~U[2025-10-28 00:37:09Z]] 20:37:09.786 [debug] QUERY OK db=100.0ms commit [] 20:37:09.873 [debug] QUERY OK source="media_items" db=84.2ms idle=1090.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [202024820, ~U[2025-10-28 00:37:09Z], 100] 20:37:09.875 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:37:09.924 [info] {"args":{"id":100},"id":92,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":387131957,"event":"job:stop","queue_time":20964698686,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:37:09.974 [info] {"args":{"id":2},"id":97,"meta":{},"system_time":1761611829974280518,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:37:09.983 [debug] QUERY OK source="media_items" db=8.1ms queue=0.1ms idle=961.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" = ?) [2] 20:37:09.983 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:37:09.987 [debug] QUERY OK source="sources" db=3.2ms queue=0.1ms idle=197.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 20:37:09.991 [debug] QUERY OK source="media_profiles" db=3.6ms queue=0.2ms idle=114.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:37:09.997 [debug] QUERY OK source="media_items" db=5.4ms queue=0.2ms idle=68.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] 20:37:10.003 [debug] QUERY OK source="media_metadata" db=2.8ms idle=26.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [2] 20:37:10.015 [debug] QUERY OK source="media_profiles" db=11.5ms idle=21.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:37:10.022 [debug] QUERY OK source="settings" db=5.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 [] 20:37:10.027 [debug] QUERY OK source="settings" db=4.0ms queue=0.2ms 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 [] 20:37:10.030 [debug] Running yt-dlp command for action: get_downloadable_status 20:37:10.039 [debug] QUERY OK source="settings" db=5.5ms idle=29.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:37:10.065 [debug] QUERY OK source="settings" db=25.7ms 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 [] 20:37:10.074 [debug] QUERY OK source="settings" db=8.9ms 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 [] 20:37:10.076 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=P8IayadsacU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/af/f5/aff5efaae1589e253d664cd0635a6abeb95cbe84c5560f50b27039d64c60d466.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:37:23.098 [info] {"source":"oban","duration":4689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:53.110 [info] {"source":"oban","duration":12083,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:00.632 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:38:23.117 [info] {"source":"oban","duration":5662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:47.125 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=P8IayadsacU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/af/f5/aff5efaae1589e253d664cd0635a6abeb95cbe84c5560f50b27039d64c60d466.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] P8IayadsacU: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] P8IayadsacU: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] P8IayadsacU: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:38:47.125 [debug] Running yt-dlp command for action: download 20:38:47.129 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=1427.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:38:47.132 [debug] QUERY OK source="settings" db=2.2ms idle=1430.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:38:47.134 [debug] QUERY OK source="settings" db=2.0ms idle=491.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:38:47.134 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=P8IayadsacU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e02 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e02 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2a/f7/2af7db56cf1ee326a5927c576b895da7760142a5f016db1b24889852ba7b9aec.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:38:53.122 [info] {"source":"oban","duration":4401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:00.633 [info] {"source":"oban","duration":230,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:39:23.127 [info] {"source":"oban","duration":5146,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:53.147 [info] {"source":"oban","duration":18794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:00.635 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:40:21.696 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=P8IayadsacU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e02 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e02 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2a/f7/2af7db56cf1ee326a5927c576b895da7760142a5f016db1b24889852ba7b9aec.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] P8IayadsacU: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] P8IayadsacU: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] P8IayadsacU: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:40:21.818 [debug] Running yt-dlp command for action: download_thumbnail 20:40:21.824 [debug] QUERY OK source="settings" db=2.9ms idle=1122.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:40:21.827 [debug] QUERY OK source="settings" db=2.8ms idle=1126.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:40:21.830 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=1129.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:40:21.831 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=P8IayadsacU --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/2/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/3d/24/3d24cfeac322d789c32eaa79ddf8471f69fd6e477413b77a654a9c7d429c8307.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:40:23.157 [info] {"source":"oban","duration":4937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:53.163 [info] {"source":"oban","duration":5462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:00.637 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:41:23.167 [info] {"source":"oban","duration":3712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:44.212 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=P8IayadsacU --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/2/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/3d/24/3d24cfeac322d789c32eaa79ddf8471f69fd6e477413b77a654a9c7d429c8307.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] P8IayadsacU: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] P8IayadsacU: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] P8IayadsacU: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:41:44.213 [debug] QUERY OK db=0.0ms idle=1480.7ms begin [] 20:41:44.266 [debug] QUERY OK source="media_items" db=52.6ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 00:40:21Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e02 - Minecraft_-_Part_2_-_Spending_the_Night_in_Simon_s_Shack.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e02 - Minecraft_-_Part_2_-_Spending_the_Night_in_Simon_s_Shack.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e02 - Minecraft_-_Part_2_-_Spending_the_Night_in_Simon_s_Shack.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e02 - Minecraft_-_Part_2_-_Spending_the_Night_in_Simon_s_Shack-thumb.jpg", ~U[2025-10-28 00:41:44Z], 2] 20:41:44.270 [debug] QUERY OK source="media_metadata" db=4.0ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/2/metadata.json.gz", "/config/metadata/media_items/2/thumbnail.jpg", 2, ~U[2025-10-28 00:41:44Z], ~U[2025-10-28 00:41:44Z]] 20:41:44.334 [debug] QUERY OK db=64.2ms commit [] 20:41:44.410 [debug] QUERY OK source="media_items" db=75.3ms idle=636.4ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? [nil, ~U[2025-10-28 00:41:44Z], 2] 20:41:44.487 [debug] QUERY OK source="media_items" db=74.6ms queue=0.1ms idle=714.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [50758377, ~U[2025-10-28 00:41:44Z], 2] 20:41:44.489 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:41:44.571 [info] {"args":{"id":2},"id":97,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":274515535,"event":"job:stop","queue_time":12127929617,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:41:44.622 [info] {"args":{"id":6},"id":98,"meta":{},"system_time":1761612104621881249,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:41:44.626 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=287.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" = ?) [6] 20:41:44.626 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:41:44.630 [debug] QUERY OK source="sources" db=3.4ms queue=0.4ms idle=216.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 20:41:44.634 [debug] QUERY OK source="media_profiles" db=3.0ms queue=0.1ms idle=143.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:41:44.639 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=64.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 [6] 20:41:44.644 [debug] QUERY OK source="media_metadata" db=3.6ms queue=0.1ms idle=18.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [6] 20:41:44.648 [debug] QUERY OK source="media_profiles" db=3.9ms idle=18.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:41:44.652 [debug] QUERY OK source="settings" db=2.5ms 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 [] 20:41:44.656 [debug] QUERY OK source="settings" db=3.7ms queue=0.1ms idle=18.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:41:44.659 [debug] Running yt-dlp command for action: get_downloadable_status 20:41:44.663 [debug] QUERY OK source="settings" db=2.6ms 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 [] 20:41:44.666 [debug] QUERY OK source="settings" db=2.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 [] 20:41:44.680 [debug] QUERY OK source="settings" db=13.9ms queue=0.1ms idle=18.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:41:44.681 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AvrNUFoBl9U --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1d/8b/1d8b438e901e28afc56d0b2ccfc101cbe84a7529f981e033117749e1517ddf11.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:41:53.175 [info] {"source":"oban","duration":7215,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:00.639 [info] {"source":"oban","duration":310,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:42:23.181 [info] {"source":"oban","duration":4874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:53.186 [info] {"source":"oban","duration":3759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:00.640 [info] {"source":"oban","duration":312,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:43:09.393 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AvrNUFoBl9U --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1d/8b/1d8b438e901e28afc56d0b2ccfc101cbe84a7529f981e033117749e1517ddf11.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] AvrNUFoBl9U: nsig extraction failed: Some formats may be missing n = h538-UDfJbgFJhc6 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] AvrNUFoBl9U: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] AvrNUFoBl9U: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:43:09.394 [debug] Running yt-dlp command for action: download 20:43:09.401 [debug] QUERY OK source="settings" db=6.4ms queue=0.3ms idle=1695.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:43:09.407 [debug] QUERY OK source="settings" db=4.9ms queue=0.9ms idle=1702.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:43:09.411 [debug] QUERY OK source="settings" db=2.4ms queue=0.8ms 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 [] 20:43:09.414 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AvrNUFoBl9U --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e06 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e06 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/55/e5/55e59094e55d36711602beb140cc270f59e193b1a843ae33592370fded2acaf3.json --sleep-requests 14 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:43:23.193 [info] {"source":"oban","duration":5887,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:53.199 [info] {"source":"oban","duration":4582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:00.642 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:44:23.204 [info] {"source":"oban","duration":4769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:53.208 [info] {"source":"oban","duration":3088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:00.644 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:45:23.213 [info] {"source":"oban","duration":3668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:45.534 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AvrNUFoBl9U --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e06 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e06 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/55/e5/55e59094e55d36711602beb140cc270f59e193b1a843ae33592370fded2acaf3.json --sleep-requests 14 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] AvrNUFoBl9U: nsig extraction failed: Some formats may be missing n = 6fiARd-2Fd5-c5tV ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] AvrNUFoBl9U: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] AvrNUFoBl9U: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:45:45.657 [debug] Running yt-dlp command for action: download_thumbnail 20:45:45.662 [debug] QUERY OK source="settings" db=2.6ms idle=957.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:45.665 [debug] QUERY OK source="settings" db=2.5ms idle=960.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:45.667 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=963.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:45:45.668 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AvrNUFoBl9U --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/6/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/dd/fa/ddfaf0aec57519d6168afa1f022da3c93e3f5e6bb8926b5523b4ebb476f10a35.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:45:53.219 [info] {"source":"oban","duration":4597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:00.645 [info] {"source":"oban","duration":285,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:46:23.240 [info] {"source":"oban","duration":20349,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:53.244 [info] {"source":"oban","duration":3840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:00.646 [info] {"source":"oban","duration":294,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:47:12.216 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AvrNUFoBl9U --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/6/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/dd/fa/ddfaf0aec57519d6168afa1f022da3c93e3f5e6bb8926b5523b4ebb476f10a35.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] AvrNUFoBl9U: nsig extraction failed: Some formats may be missing n = ypDSqa4txr4Mg78 ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] AvrNUFoBl9U: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] AvrNUFoBl9U: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:47:12.217 [debug] QUERY OK db=0.1ms idle=1513.7ms begin [] 20:47:12.252 [debug] QUERY OK source="media_items" db=33.8ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 00:45:45Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e06 - Minecraft_-_Part_6_-_The_Mysterious_Tree.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e06 - Minecraft_-_Part_6_-_The_Mysterious_Tree.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e06 - Minecraft_-_Part_6_-_The_Mysterious_Tree.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e06 - Minecraft_-_Part_6_-_The_Mysterious_Tree-thumb.jpg", ~U[2025-10-28 00:47:12Z], 6] 20:47:12.256 [debug] QUERY OK source="media_metadata" db=3.6ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/6/metadata.json.gz", "/config/metadata/media_items/6/thumbnail.jpg", 6, ~U[2025-10-28 00:47:12Z], ~U[2025-10-28 00:47:12Z]] 20:47:12.316 [debug] QUERY OK db=59.9ms commit [] 20:47:12.384 [debug] QUERY OK source="media_items" db=64.3ms idle=1615.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [98323382, ~U[2025-10-28 00:47:12Z], 6] 20:47:12.385 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:47:12.426 [info] {"args":{"id":6},"id":98,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":327764097,"event":"job:stop","queue_time":12402576627,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:47:12.515 [info] {"args":{"id":7},"id":99,"meta":{},"system_time":1761612432515348873,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:47:12.521 [debug] QUERY OK source="media_items" db=3.2ms queue=0.2ms idle=488.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" = ?) [7] 20:47:12.521 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:47:12.524 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=205.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 20:47:12.528 [debug] QUERY OK source="media_profiles" db=2.9ms queue=0.1ms idle=140.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:47:12.532 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=102.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] 20:47:12.536 [debug] QUERY OK source="media_metadata" db=2.6ms idle=18.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [7] 20:47:12.539 [debug] QUERY OK source="media_profiles" db=2.6ms idle=15.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:47:12.543 [debug] QUERY OK source="settings" db=2.7ms idle=15.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:47:12.545 [debug] QUERY OK source="settings" db=2.4ms 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 [] 20:47:12.547 [debug] Running yt-dlp command for action: get_downloadable_status 20:47:12.550 [debug] QUERY OK source="settings" db=2.3ms 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 [] 20:47:12.553 [debug] QUERY OK source="settings" db=2.3ms 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 [] 20:47:12.556 [debug] QUERY OK source="settings" db=2.6ms 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 [] 20:47:12.556 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=y7kezSA_u5A --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/db/c8/dbc8dc55581793223dc36acfd0dbba991f78647b6f1ad993171f48fb0fc7dd26.json --sleep-requests 13 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:47:23.250 [info] {"source":"oban","duration":4882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:53.255 [info] {"source":"oban","duration":3471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:48:00.647 [info] {"source":"oban","duration":273,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:48:23.262 [info] {"source":"oban","duration":6465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:48:34.839 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=y7kezSA_u5A --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/db/c8/dbc8dc55581793223dc36acfd0dbba991f78647b6f1ad993171f48fb0fc7dd26.json --sleep-requests 13 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] y7kezSA_u5A: nsig extraction failed: Some formats may be missing n = KXiG99-3lh_fxO9l ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] y7kezSA_u5A: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] y7kezSA_u5A: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:48:34.839 [debug] Running yt-dlp command for action: download 20:48:34.842 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=1135.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:48:34.845 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=1138.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:48:34.848 [debug] QUERY OK source="settings" db=2.5ms idle=357.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:48:34.848 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=y7kezSA_u5A --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e07 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e07 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a2/1d/a21d305d74192751a9740717be6de8c4708b33f8e0a1eb0197661854fd08755a.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:48:53.266 [info] {"source":"oban","duration":3751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:00.647 [info] {"source":"oban","duration":259,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:49:23.271 [info] {"source":"oban","duration":3893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:53.276 [info] {"source":"oban","duration":4010,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:00.649 [info] {"source":"oban","duration":291,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:50:23.282 [info] {"source":"oban","duration":4562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:53.286 [info] {"source":"oban","duration":3884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:00.650 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:51:10.696 [info] GET /media/44b0cc4a-172d-4c32-8e04-1c62a449d875/stream 20:51:10.697 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "44b0cc4a-172d-4c32-8e04-1c62a449d875", "v" => "1761596748"} Pipelines: [:maybe_basic_auth] 20:51:10.702 [debug] QUERY OK source="media_items" db=4.6ms idle=1989.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["44b0cc4a-172d-4c32-8e04-1c62a449d875"] 20:51:10.704 [debug] Invalid range request for media item: 44b0cc4a-172d-4c32-8e04-1c62a449d875 - serving full file 20:51:10.704 [info] Sent 200 in 7ms 20:51:12.093 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=y7kezSA_u5A --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e07 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e07 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a2/1d/a21d305d74192751a9740717be6de8c4708b33f8e0a1eb0197661854fd08755a.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] y7kezSA_u5A: nsig extraction failed: Some formats may be missing n = h-VDoRJv9vy9V3II ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] y7kezSA_u5A: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] y7kezSA_u5A: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:51:12.178 [debug] Running yt-dlp command for action: download_thumbnail 20:51:12.182 [debug] QUERY OK source="settings" db=2.7ms idle=1264.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:51:12.185 [debug] QUERY OK source="settings" db=2.4ms idle=1267.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:51:12.188 [debug] QUERY OK source="settings" db=2.6ms idle=639.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:51:12.188 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=y7kezSA_u5A --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/7/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/85/a3/85a33866ab02f633f39e8e283f731006ebe7d78ab1537e65fc74b8a9eda2f5a1.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:51:13.743 [info] GET /media/44b0cc4a-172d-4c32-8e04-1c62a449d875/stream 20:51:13.743 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "44b0cc4a-172d-4c32-8e04-1c62a449d875", "v" => "1761596748"} Pipelines: [:maybe_basic_auth] 20:51:13.756 [debug] QUERY OK source="media_items" db=12.3ms idle=1561.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["44b0cc4a-172d-4c32-8e04-1c62a449d875"] 20:51:13.757 [debug] Invalid range request for media item: 44b0cc4a-172d-4c32-8e04-1c62a449d875 - serving full file 20:51:13.757 [info] Sent 200 in 14ms 20:51:19.199 [info] GET /sources/1/media/57/force_download 20:51:19.213 [debug] QUERY OK source="settings" db=6.4ms idle=1287.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:51:19.220 [debug] QUERY OK source="settings" db=6.6ms idle=1294.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:51:19.220 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 20:51:19.221 [error] #PID<0.5757.0> running PinchflatWeb.Endpoint (connection #PID<0.5756.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/57/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/57/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5756.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/57/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 60846}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5757.0>, params: %{}, path_info: ["sources", "1", "media", "57", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/57/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHKBZfd6hHsUufYAAIGB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5756.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/57/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 60846}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/57/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5756.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/57/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 60846}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5757.0>, params: %{}, path_info: ["sources", "1", "media", "57", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 20:51:23.297 [info] {"source":"oban","duration":9288,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:53.302 [info] {"source":"oban","duration":4864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:00.651 [info] {"source":"oban","duration":433,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:52:23.310 [info] {"source":"oban","duration":6724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:29.883 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=y7kezSA_u5A --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/7/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/85/a3/85a33866ab02f633f39e8e283f731006ebe7d78ab1537e65fc74b8a9eda2f5a1.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] y7kezSA_u5A: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] y7kezSA_u5A: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] y7kezSA_u5A: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:52:29.886 [debug] QUERY OK db=0.1ms idle=966.9ms begin [] 20:52:29.944 [debug] QUERY OK source="media_items" db=57.6ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 00:51:12Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e07 - Minecraft_-_Part_7_-_The_Trial_of_the_Pyramid.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e07 - Minecraft_-_Part_7_-_The_Trial_of_the_Pyramid.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e07 - Minecraft_-_Part_7_-_The_Trial_of_the_Pyramid.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e07 - Minecraft_-_Part_7_-_The_Trial_of_the_Pyramid-thumb.jpg", ~U[2025-10-28 00:52:29Z], 7] 20:52:29.948 [debug] QUERY OK source="media_metadata" db=3.7ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/7/metadata.json.gz", "/config/metadata/media_items/7/thumbnail.jpg", 7, ~U[2025-10-28 00:52:29Z], ~U[2025-10-28 00:52:29Z]] 20:52:30.009 [debug] QUERY OK db=61.3ms commit [] 20:52:30.079 [debug] QUERY OK source="media_items" db=67.8ms idle=1092.9ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [112377548, ~U[2025-10-28 00:52:30Z], 7] 20:52:30.081 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:52:30.126 [info] {"args":{"id":7},"id":99,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":317566309,"event":"job:stop","queue_time":12729432711,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:52:30.182 [info] {"args":{"id":8},"id":100,"meta":{},"system_time":1761612750181751014,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:52:30.185 [debug] QUERY OK source="media_items" db=2.9ms idle=172.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" = ?) [8] 20:52:30.185 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:52:30.189 [debug] QUERY OK source="sources" db=3.0ms idle=169.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 20:52:30.192 [debug] QUERY OK source="media_profiles" db=2.8ms idle=109.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:52:30.197 [debug] QUERY OK source="media_items" db=3.7ms queue=0.2ms idle=66.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 [8] 20:52:30.200 [debug] QUERY OK source="media_metadata" db=2.2ms idle=16.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [8] 20:52:30.203 [debug] QUERY OK source="media_profiles" db=2.6ms idle=15.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:52:30.207 [debug] QUERY OK source="settings" db=2.5ms 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 [] 20:52:30.209 [debug] QUERY OK source="settings" db=2.6ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:52:30.211 [debug] Running yt-dlp command for action: get_downloadable_status 20:52:30.222 [debug] QUERY OK source="settings" db=2.8ms 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 [] 20:52:30.225 [debug] QUERY OK source="settings" db=2.6ms idle=21.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:52:30.228 [debug] QUERY OK source="settings" db=2.9ms idle=21.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:52:30.229 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=eZ-oYPUTlqY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f6/a9/f6a92c987d9328c35ab613615d1452fa7b257f26a471e405aca8d11ebfbca1d2.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:52:53.316 [info] {"source":"oban","duration":5216,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:00.652 [info] {"source":"oban","duration":301,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:53:23.322 [info] {"source":"oban","duration":4813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:53.327 [info] {"source":"oban","duration":3771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:00.653 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:54:05.019 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=eZ-oYPUTlqY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f6/a9/f6a92c987d9328c35ab613615d1452fa7b257f26a471e405aca8d11ebfbca1d2.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] eZ-oYPUTlqY: nsig extraction failed: Some formats may be missing n = Dnr6EOBrvxpLM3I- ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] eZ-oYPUTlqY: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] eZ-oYPUTlqY: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:54:05.020 [debug] Running yt-dlp command for action: download 20:54:05.028 [debug] QUERY OK source="settings" db=6.9ms queue=0.2ms idle=1099.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:54:05.031 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=1106.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:54:05.034 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=1109.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:54:05.035 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=eZ-oYPUTlqY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e08 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e08 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9a/a0/9aa04d63b647a57b3de3bb0f3ebf6b1e9b2ee8c10ba5f90041feacd8a1d06def.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:54:23.334 [info] {"source":"oban","duration":4428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:53.357 [info] {"source":"oban","duration":22689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:00.655 [info] {"source":"oban","duration":282,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:55:23.362 [info] {"source":"oban","duration":3371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:53.367 [info] {"source":"oban","duration":3471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:00.656 [info] {"source":"oban","duration":302,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:56:23.371 [info] {"source":"oban","duration":3391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:33.613 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=eZ-oYPUTlqY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e08 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e08 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9a/a0/9aa04d63b647a57b3de3bb0f3ebf6b1e9b2ee8c10ba5f90041feacd8a1d06def.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] eZ-oYPUTlqY: nsig extraction failed: Some formats may be missing n = YaCOUyxSRpcz432 ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] eZ-oYPUTlqY: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] eZ-oYPUTlqY: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:56:33.742 [debug] Running yt-dlp command for action: download_thumbnail 20:56:33.746 [debug] QUERY OK source="settings" db=2.2ms idle=1274.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:56:33.749 [debug] QUERY OK source="settings" db=2.3ms idle=822.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:56:33.751 [debug] QUERY OK source="settings" db=2.2ms idle=825.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:56:33.752 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=eZ-oYPUTlqY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/8/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/d7/f0/d7f07de1f7ea40dbd6d975882ad4d79efe09b29c480c11faac8d79149459412a.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:56:53.381 [info] {"source":"oban","duration":9867,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:57:00.657 [info] {"source":"oban","duration":303,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:57:23.385 [info] {"source":"oban","duration":3221,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:57:49.532 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=eZ-oYPUTlqY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/8/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/d7/f0/d7f07de1f7ea40dbd6d975882ad4d79efe09b29c480c11faac8d79149459412a.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] eZ-oYPUTlqY: nsig extraction failed: Some formats may be missing n = 95sASfH1SnCJNpSv ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] eZ-oYPUTlqY: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] eZ-oYPUTlqY: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:57:49.533 [debug] QUERY OK db=0.1ms idle=607.5ms begin [] 20:57:49.553 [debug] QUERY OK source="media_items" db=19.1ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 00:56:33Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e08 - Minecraft_-_Part_8_-_The_Quest_for_the_Bucket.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e08 - Minecraft_-_Part_8_-_The_Quest_for_the_Bucket.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e08 - Minecraft_-_Part_8_-_The_Quest_for_the_Bucket.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e08 - Minecraft_-_Part_8_-_The_Quest_for_the_Bucket-thumb.jpg", ~U[2025-10-28 00:57:49Z], 8] 20:57:49.557 [debug] QUERY OK source="media_metadata" db=3.9ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/8/metadata.json.gz", "/config/metadata/media_items/8/thumbnail.jpg", 8, ~U[2025-10-28 00:57:49Z], ~U[2025-10-28 00:57:49Z]] 20:57:49.620 [debug] QUERY OK db=63.4ms commit [] 20:57:49.713 [debug] QUERY OK source="media_items" db=90.4ms idle=697.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [83106874, ~U[2025-10-28 00:57:49Z], 8] 20:57:49.715 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:57:49.759 [info] {"args":{"id":8},"id":100,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":319533465,"event":"job:stop","queue_time":13047132686,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:57:49.808 [info] {"args":{"id":22},"id":101,"meta":{},"system_time":1761613069808072453,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 20:57:49.811 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=746.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" = ?) [22] 20:57:49.811 [info] User scripts lifecyle file either not present or is empty. Skipping. 20:57:49.814 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=191.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 20:57:49.818 [debug] QUERY OK source="media_profiles" db=2.7ms queue=0.1ms idle=101.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:57:49.822 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=59.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 [22] 20:57:49.826 [debug] QUERY OK source="media_metadata" db=2.3ms idle=15.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [22] 20:57:49.828 [debug] QUERY OK source="media_profiles" db=2.4ms 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] 20:57:49.831 [debug] QUERY OK source="settings" db=2.3ms 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 [] 20:57:49.834 [debug] QUERY OK source="settings" db=2.1ms idle=13.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:57:49.836 [debug] Running yt-dlp command for action: get_downloadable_status 20:57:49.839 [debug] QUERY OK source="settings" db=2.5ms 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 [] 20:57:49.842 [debug] QUERY OK source="settings" db=2.3ms 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 [] 20:57:49.845 [debug] QUERY OK source="settings" db=2.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 [] 20:57:49.845 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZbrTC6ITbA4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/55/d0/55d021594ead7b8afcca17c692c002169924c71e6e24a982e71d429db8f93766.json --sleep-requests 15 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:57:53.392 [info] {"source":"oban","duration":5502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:00.658 [info] {"source":"oban","duration":280,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:58:23.397 [info] {"source":"oban","duration":5174,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:53.401 [info] {"source":"oban","duration":2904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:59:00.659 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:59:23.408 [info] {"source":"oban","duration":5306,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:59:25.184 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZbrTC6ITbA4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/55/d0/55d021594ead7b8afcca17c692c002169924c71e6e24a982e71d429db8f93766.json --sleep-requests 15 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] ZbrTC6ITbA4: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] ZbrTC6ITbA4: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] ZbrTC6ITbA4: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 20:59:25.184 [debug] Running yt-dlp command for action: download 20:59:25.187 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=500.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:59:25.190 [debug] QUERY OK source="settings" db=3.1ms idle=254.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:59:25.193 [debug] QUERY OK source="settings" db=2.3ms idle=258.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:59:25.193 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZbrTC6ITbA4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e09 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e09 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ea/81/ea814ac9cf96c18fec99943bbb633e2ad786829598872a3af9c444fed34c842c.json --sleep-requests 15 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:59:53.435 [info] {"source":"oban","duration":26885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:00.761 [info] {"source":"oban","duration":101852,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[126]} 21:00:00.840 [info] {"args":{},"id":126,"meta":{"cron":true,"cron_expr":"0 1 * * *","cron_tz":"Etc/UTC"},"system_time":1761613200840732393,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.Downloading.MediaRetentionWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","local_data"]} 21:00:00.896 [debug] QUERY OK source="media_items" db=54.0ms queue=0.4ms idle=1908.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" 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)) [] 21:00:00.896 [info] Culling 0 media items past their retention date 21:00:00.942 [debug] QUERY OK source="media_items" db=42.5ms queue=1.0ms idle=1010.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" 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)) [] 21:00:00.942 [info] Deleting 0 media items that are from before the source cutoff 21:00:01.018 [info] {"args":{},"id":126,"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":102272,"event":"job:stop","queue_time":721633,"attempt":1,"tags":["media_item","local_data"]} 21:00:23.451 [info] {"source":"oban","duration":14384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:53.456 [info] {"source":"oban","duration":4662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:01:00.763 [info] {"source":"oban","duration":1037,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:01:23.461 [info] {"source":"oban","duration":4555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:01:53.472 [info] {"source":"oban","duration":10421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:00.765 [info] {"source":"oban","duration":506,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:02:20.662 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZbrTC6ITbA4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e09 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e09 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ea/81/ea814ac9cf96c18fec99943bbb633e2ad786829598872a3af9c444fed34c842c.json --sleep-requests 15 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] ZbrTC6ITbA4: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] ZbrTC6ITbA4: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] ZbrTC6ITbA4: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:02:20.788 [debug] Running yt-dlp command for action: download_thumbnail 21:02:20.795 [debug] QUERY OK source="settings" db=3.9ms idle=1841.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:02:20.806 [debug] QUERY OK source="settings" db=10.4ms queue=0.1ms idle=1845.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:02:20.811 [debug] QUERY OK source="settings" db=5.1ms idle=1638.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:02:20.812 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZbrTC6ITbA4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/22/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/9f/cf/9fcf6ad141bdc46ed7b6b3c4ef94003cd91f5ba8c0eef8e942fd8be5137c3765.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:02:23.480 [info] {"source":"oban","duration":8163,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:53.490 [info] {"source":"oban","duration":8553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:00.767 [info] {"source":"oban","duration":926,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:03:23.499 [info] {"source":"oban","duration":7958,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:53.505 [info] {"source":"oban","duration":4781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:00.768 [info] {"source":"oban","duration":285,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:04:01.137 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZbrTC6ITbA4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/22/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/9f/cf/9fcf6ad141bdc46ed7b6b3c4ef94003cd91f5ba8c0eef8e942fd8be5137c3765.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] ZbrTC6ITbA4: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] ZbrTC6ITbA4: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] ZbrTC6ITbA4: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:04:01.137 [debug] QUERY OK db=0.0ms idle=1115.0ms begin [] 21:04:01.273 [debug] QUERY OK source="media_items" db=135.0ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 01:02:20Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e09 - Minecraft_-_Part_9_-_Epic_Dungeon_Loot.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e09 - Minecraft_-_Part_9_-_Epic_Dungeon_Loot.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e09 - Minecraft_-_Part_9_-_Epic_Dungeon_Loot.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e09 - Minecraft_-_Part_9_-_Epic_Dungeon_Loot-thumb.jpg", ~U[2025-10-28 01:04:01Z], 22] 21:04:01.276 [debug] QUERY OK source="media_metadata" db=3.1ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/22/metadata.json.gz", "/config/metadata/media_items/22/thumbnail.jpg", 22, ~U[2025-10-28 01:04:01Z], ~U[2025-10-28 01:04:01Z]] 21:04:01.357 [debug] QUERY OK db=80.5ms commit [] 21:04:01.455 [debug] QUERY OK source="media_items" db=95.6ms idle=591.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [117367593, ~U[2025-10-28 01:04:01Z], 22] 21:04:01.457 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:04:01.521 [info] {"args":{"id":22},"id":101,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":371649161,"event":"job:stop","queue_time":13366765663,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:04:01.581 [info] {"args":{"id":23},"id":102,"meta":{},"system_time":1761613441581176104,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:04:01.584 [debug] QUERY OK source="media_items" db=3.0ms idle=553.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" = ?) [23] 21:04:01.585 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:04:01.588 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=228.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 21:04:01.592 [debug] QUERY OK source="media_profiles" db=2.9ms idle=133.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:04:01.596 [debug] QUERY OK source="media_items" db=3.7ms idle=70.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 [23] 21:04:01.601 [debug] QUERY OK source="media_metadata" db=2.9ms idle=17.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [23] 21:04:01.604 [debug] QUERY OK source="media_profiles" db=2.5ms queue=0.1ms idle=17.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:04:01.608 [debug] QUERY OK source="settings" db=2.6ms idle=16.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:04:01.611 [debug] QUERY OK source="settings" db=2.7ms 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 [] 21:04:01.613 [debug] Running yt-dlp command for action: get_downloadable_status 21:04:01.616 [debug] QUERY OK source="settings" db=2.4ms idle=17.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:04:01.619 [debug] QUERY OK source="settings" db=3.1ms 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 [] 21:04:01.622 [debug] QUERY OK source="settings" db=2.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 [] 21:04:01.623 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TQBQ0MIpJsk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/13/ca/13ca551767cd2ac288ace35b6b714fbd6f0e5ecc4388280d70229ed892ae0b59.json --sleep-requests 12 --sleep-interval 11 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:04:23.515 [info] {"source":"oban","duration":8893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:53.521 [info] {"source":"oban","duration":5015,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:00.769 [info] {"source":"oban","duration":338,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:05:18.226 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TQBQ0MIpJsk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/13/ca/13ca551767cd2ac288ace35b6b714fbd6f0e5ecc4388280d70229ed892ae0b59.json --sleep-requests 12 --sleep-interval 11 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] TQBQ0MIpJsk: nsig extraction failed: Some formats may be missing n = 58rsc7K8wy92XtNe ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] TQBQ0MIpJsk: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] TQBQ0MIpJsk: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:05:18.227 [debug] Running yt-dlp command for action: download 21:05:18.231 [debug] QUERY OK source="settings" db=3.4ms queue=0.7ms idle=1269.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:05:18.235 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=1274.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:05:18.238 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=1277.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:05:18.238 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TQBQ0MIpJsk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e10 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e10 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/99/4b/994bf833d54ecfcbddcac970bf7f82345a5d5fd1810903fe77dd32de8c7a92ce.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:05:23.527 [info] {"source":"oban","duration":4454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:53.531 [info] {"source":"oban","duration":3615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:00.769 [info] {"source":"oban","duration":239,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:06:23.536 [info] {"source":"oban","duration":4966,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:53.541 [info] {"source":"oban","duration":3761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:00.771 [info] {"source":"oban","duration":494,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:07:23.547 [info] {"source":"oban","duration":4809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:53.560 [info] {"source":"oban","duration":11943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:00.772 [info] {"source":"oban","duration":1038,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:08:01.905 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TQBQ0MIpJsk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e10 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e10 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/99/4b/994bf833d54ecfcbddcac970bf7f82345a5d5fd1810903fe77dd32de8c7a92ce.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] TQBQ0MIpJsk: nsig extraction failed: Some formats may be missing n = 3-gKgGC02u1NseC ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] TQBQ0MIpJsk: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] TQBQ0MIpJsk: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:08:01.989 [debug] Running yt-dlp command for action: download_thumbnail 21:08:01.994 [debug] QUERY OK source="settings" db=2.5ms idle=1027.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:08:01.998 [debug] QUERY OK source="settings" db=3.8ms idle=1030.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:08:02.001 [debug] QUERY OK source="settings" db=2.8ms idle=1034.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:08:02.002 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TQBQ0MIpJsk --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/23/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/30/f1/30f1ec431b1131a632987333d657ddcf4de3a2d440c2c05995d93c242dc93089.json --sleep-requests 11 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:08:23.583 [info] {"source":"oban","duration":22046,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:53.592 [info] {"source":"oban","duration":8174,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:09:00.774 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:09:16.348 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TQBQ0MIpJsk --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/23/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/30/f1/30f1ec431b1131a632987333d657ddcf4de3a2d440c2c05995d93c242dc93089.json --sleep-requests 11 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] TQBQ0MIpJsk: nsig extraction failed: Some formats may be missing n = tDiIjRjHPneIRQs ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] TQBQ0MIpJsk: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] TQBQ0MIpJsk: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:09:16.351 [debug] QUERY OK db=0.6ms queue=0.1ms idle=1344.4ms begin [] 21:09:16.374 [debug] QUERY OK source="media_items" db=22.0ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 01:08:01Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e10 - Minecraft_-_Part_10_-_Renovating_the_Yogcave.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e10 - Minecraft_-_Part_10_-_Renovating_the_Yogcave.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e10 - Minecraft_-_Part_10_-_Renovating_the_Yogcave.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e10 - Minecraft_-_Part_10_-_Renovating_the_Yogcave-thumb.jpg", ~U[2025-10-28 01:09:16Z], 23] 21:09:16.378 [debug] QUERY OK source="media_metadata" db=3.7ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/23/metadata.json.gz", "/config/metadata/media_items/23/thumbnail.jpg", 23, ~U[2025-10-28 01:09:16Z], ~U[2025-10-28 01:09:16Z]] 21:09:16.468 [debug] QUERY OK db=89.6ms commit [] 21:09:16.574 [debug] QUERY OK source="media_items" db=104.1ms idle=503.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [144199657, ~U[2025-10-28 01:09:16Z], 23] 21:09:16.576 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:09:16.617 [info] {"args":{"id":23},"id":102,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":314995667,"event":"job:stop","queue_time":13738527641,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:09:16.668 [info] {"args":{"id":24},"id":103,"meta":{},"system_time":1761613756667834162,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:09:16.672 [debug] QUERY OK source="media_items" db=3.6ms queue=0.1ms idle=653.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" = ?) [24] 21:09:16.672 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:09:16.676 [debug] QUERY OK source="sources" db=3.2ms queue=0.2ms idle=204.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 21:09:16.682 [debug] QUERY OK source="media_profiles" db=5.4ms idle=102.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:09:16.688 [debug] QUERY OK source="media_items" db=5.6ms 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 [24] 21:09:16.695 [debug] QUERY OK source="media_metadata" db=3.1ms idle=24.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [24] 21:09:16.698 [debug] QUERY OK source="media_profiles" db=2.7ms 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] 21:09:16.702 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=23.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:09:16.704 [debug] QUERY OK source="settings" db=2.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 [] 21:09:16.707 [debug] Running yt-dlp command for action: get_downloadable_status 21:09:16.711 [debug] QUERY OK source="settings" db=2.6ms 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 [] 21:09:16.714 [debug] QUERY OK source="settings" db=2.9ms 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 [] 21:09:16.718 [debug] QUERY OK source="settings" db=2.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 [] 21:09:16.718 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=gJGYmOF_gR8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f1/e4/f1e40d9d60ed6f4f1c4ee9b58957e95d9668f492d1b5186a72b346f462280960.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:09:23.601 [info] {"source":"oban","duration":7902,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:09:53.616 [info] {"source":"oban","duration":14087,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:00.775 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:10:23.623 [info] {"source":"oban","duration":5237,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:39.486 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=gJGYmOF_gR8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f1/e4/f1e40d9d60ed6f4f1c4ee9b58957e95d9668f492d1b5186a72b346f462280960.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] gJGYmOF_gR8: nsig extraction failed: Some formats may be missing n = EojG5mBGfNbZd5fW ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] gJGYmOF_gR8: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] gJGYmOF_gR8: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:10:39.487 [debug] Running yt-dlp command for action: download 21:10:39.490 [debug] QUERY OK source="settings" db=2.7ms idle=1512.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:10:39.492 [debug] QUERY OK source="settings" db=2.2ms idle=1019.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:10:39.494 [debug] QUERY OK source="settings" db=2.0ms idle=517.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:10:39.495 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=gJGYmOF_gR8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e11 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e11 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/27/75/27751d912b20f23483d71ea2bf1aff8f796720062e05f0515c1ce327c859f156.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:10:53.636 [info] {"source":"oban","duration":13230,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:00.776 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:11:23.642 [info] {"source":"oban","duration":4145,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:53.647 [info] {"source":"oban","duration":4956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:00.777 [info] {"source":"oban","duration":289,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:12:23.656 [info] {"source":"oban","duration":7319,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:53.676 [info] {"source":"oban","duration":19945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:00.778 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:13:16.674 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=gJGYmOF_gR8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e11 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e11 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/27/75/27751d912b20f23483d71ea2bf1aff8f796720062e05f0515c1ce327c859f156.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] gJGYmOF_gR8: nsig extraction failed: Some formats may be missing n = 8MejDznu-32wXUYx ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] gJGYmOF_gR8: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] gJGYmOF_gR8: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:13:16.779 [debug] Running yt-dlp command for action: download_thumbnail 21:13:16.782 [debug] QUERY OK source="settings" db=2.3ms idle=1789.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:13:16.787 [debug] QUERY OK source="settings" db=3.2ms idle=1792.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:13:16.789 [debug] QUERY OK source="settings" db=2.4ms idle=1209.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:13:16.790 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=gJGYmOF_gR8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/24/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/6b/70/6b70ef73ce38cd1fa258fc0466acd36b30a370d3d3d8c8c8e615daf14a373dac.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:13:23.685 [info] {"source":"oban","duration":7358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:53.722 [info] {"source":"oban","duration":36239,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:00.779 [info] {"source":"oban","duration":264,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:14:23.726 [info] {"source":"oban","duration":3367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:37.219 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=gJGYmOF_gR8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/24/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/6b/70/6b70ef73ce38cd1fa258fc0466acd36b30a370d3d3d8c8c8e615daf14a373dac.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] gJGYmOF_gR8: nsig extraction failed: Some formats may be missing n = NEx-l0S9sOPAt3KU ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] gJGYmOF_gR8: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] gJGYmOF_gR8: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:14:37.220 [debug] QUERY OK db=0.1ms idle=1227.5ms begin [] 21:14:37.246 [debug] QUERY OK source="media_items" db=25.9ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 01:13:16Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e11 - Minecraft_-_Part_11_-_Going_Underground.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e11 - Minecraft_-_Part_11_-_Going_Underground.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e11 - Minecraft_-_Part_11_-_Going_Underground.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e11 - Minecraft_-_Part_11_-_Going_Underground-thumb.jpg", ~U[2025-10-28 01:14:37Z], 24] 21:14:37.268 [debug] QUERY OK source="media_metadata" db=20.6ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/24/metadata.json.gz", "/config/metadata/media_items/24/thumbnail.jpg", 24, ~U[2025-10-28 01:14:37Z], ~U[2025-10-28 01:14:37Z]] 21:14:37.401 [debug] QUERY OK db=133.1ms commit [] 21:14:37.479 [debug] QUERY OK source="media_items" db=75.1ms idle=1283.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [138992101, ~U[2025-10-28 01:14:37Z], 24] 21:14:37.480 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:14:37.522 [info] {"args":{"id":24},"id":103,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":320812984,"event":"job:stop","queue_time":14053623759,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:14:37.603 [info] {"args":{"id":25},"id":104,"meta":{},"system_time":1761614077603500466,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:14:37.607 [debug] QUERY OK source="media_items" db=3.5ms idle=474.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [25] 21:14:37.608 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:14:37.611 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=206.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 21:14:37.614 [debug] QUERY OK source="media_profiles" db=2.8ms idle=132.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:14:37.618 [debug] QUERY OK source="media_items" db=3.8ms idle=92.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 [25] 21:14:37.628 [debug] QUERY OK source="media_metadata" db=6.7ms idle=17.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [25] 21:14:37.634 [debug] QUERY OK source="media_profiles" db=6.1ms queue=0.1ms idle=21.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:14:37.638 [debug] QUERY OK source="settings" db=2.7ms 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 [] 21:14:37.642 [debug] QUERY OK source="settings" db=3.3ms 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 [] 21:14:37.644 [debug] Running yt-dlp command for action: get_downloadable_status 21:14:37.648 [debug] QUERY OK source="settings" db=2.8ms idle=26.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:14:37.650 [debug] QUERY OK source="settings" db=2.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 [] 21:14:37.653 [debug] QUERY OK source="settings" db=2.7ms 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 [] 21:14:37.654 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tcp7x8HaWSA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/72/97/7297d5df78bf0bc6193c2a6162649807f07ad3d38142787ba143560dd347b508.json --sleep-requests 15 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:14:53.741 [info] {"source":"oban","duration":14704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:00.780 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:15:23.761 [info] {"source":"oban","duration":18530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:53.765 [info] {"source":"oban","duration":3334,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:00.781 [info] {"source":"oban","duration":292,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:16:13.102 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tcp7x8HaWSA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/72/97/7297d5df78bf0bc6193c2a6162649807f07ad3d38142787ba143560dd347b508.json --sleep-requests 15 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] tcp7x8HaWSA: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] tcp7x8HaWSA: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] tcp7x8HaWSA: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:16:13.104 [debug] Running yt-dlp command for action: download 21:16:13.116 [debug] QUERY OK source="settings" db=11.9ms idle=1093.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:16:13.120 [debug] QUERY OK source="settings" db=3.3ms idle=199.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:16:13.124 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms idle=110.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:16:13.125 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tcp7x8HaWSA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e12 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e12 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/91/87/91871adaaf4031988147c7c2c29888a33f855eb15e7055ae798770bfa2b6f82e.json --sleep-requests 14 --sleep-interval 11 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:16:23.771 [info] {"source":"oban","duration":5465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:53.775 [info] {"source":"oban","duration":3520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:00.783 [info] {"source":"oban","duration":1296,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:17:23.798 [info] {"source":"oban","duration":22431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:53.810 [info] {"source":"oban","duration":11158,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:00.784 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:18:23.815 [info] {"source":"oban","duration":3739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:48.764 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tcp7x8HaWSA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e12 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e12 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/91/87/91871adaaf4031988147c7c2c29888a33f855eb15e7055ae798770bfa2b6f82e.json --sleep-requests 14 --sleep-interval 11 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] tcp7x8HaWSA: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] tcp7x8HaWSA: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] tcp7x8HaWSA: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:18:48.862 [debug] Running yt-dlp command for action: download_thumbnail 21:18:48.868 [debug] QUERY OK source="settings" db=2.4ms idle=1847.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:18:48.871 [debug] QUERY OK source="settings" db=2.5ms idle=1850.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:18:48.873 [debug] QUERY OK source="settings" db=1.9ms idle=1853.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:18:48.874 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tcp7x8HaWSA --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/25/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ab/20/ab207649f343d4d66e6d8cc96ee27d52d2ef1c3e1fae654bff2072340d8cd340.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:18:53.819 [info] {"source":"oban","duration":3680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:00.785 [info] {"source":"oban","duration":309,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:19:23.824 [info] {"source":"oban","duration":3521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:53.828 [info] {"source":"oban","duration":3397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:00.786 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:20:07.250 [info] GET /sources/1/media/93/force_download 21:20:07.253 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=1233.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:20:07.256 [debug] QUERY OK source="settings" db=2.6ms idle=1235.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:20:07.256 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:20:07.257 [error] #PID<0.5918.0> running PinchflatWeb.Endpoint (connection #PID<0.5917.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/93/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/93/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5917.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/93/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 35892}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5918.0>, params: %{}, path_info: ["sources", "1", "media", "93", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"from", "gptbot(at)openai.com"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"}, {"x-forwarded-for", "20.171.207.100"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-openai-host-hash", "749072748"}, {"x-real-ip", "20.171.207.100"} ], request_path: "/sources/1/media/93/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHKC-E9fKh7pj0QAAIdB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5917.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/93/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 35892}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/93/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5917.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/93/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 35892}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "from" => "gptbot(at)openai.com", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)", "x-forwarded-for" => "20.171.207.100", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-openai-host-hash" => "749072748", "x-real-ip" => "20.171.207.100" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.5918.0>, params: %{}, path_info: ["sources", "1", "media", "93", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], (truncated) 21:20:17.156 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tcp7x8HaWSA --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/25/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ab/20/ab207649f343d4d66e6d8cc96ee27d52d2ef1c3e1fae654bff2072340d8cd340.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] tcp7x8HaWSA: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] tcp7x8HaWSA: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] tcp7x8HaWSA: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:20:17.157 [debug] QUERY OK db=0.1ms idle=796.7ms begin [] 21:20:17.191 [debug] QUERY OK source="media_items" db=32.8ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 01:18:48Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e12 - Minecraft_-_Part_12_-_Hitting_Bedrock.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e12 - Minecraft_-_Part_12_-_Hitting_Bedrock.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e12 - Minecraft_-_Part_12_-_Hitting_Bedrock.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e12 - Minecraft_-_Part_12_-_Hitting_Bedrock-thumb.jpg", ~U[2025-10-28 01:20:17Z], 25] 21:20:17.195 [debug] QUERY OK source="media_metadata" db=3.7ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/25/metadata.json.gz", "/config/metadata/media_items/25/thumbnail.jpg", 25, ~U[2025-10-28 01:20:17Z], ~U[2025-10-28 01:20:17Z]] 21:20:17.298 [debug] QUERY OK db=102.7ms commit [] 21:20:17.364 [debug] QUERY OK source="media_items" db=63.2ms idle=283.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [76277094, ~U[2025-10-28 01:20:17Z], 25] 21:20:17.366 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:20:17.411 [info] {"args":{"id":25},"id":104,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":339763199,"event":"job:stop","queue_time":14374528745,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:20:17.487 [info] {"args":{"id":26},"id":105,"meta":{},"system_time":1761614417486980091,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:20:17.490 [debug] QUERY OK source="media_items" db=3.0ms idle=189.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [26] 21:20:17.491 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:20:17.494 [debug] QUERY OK source="sources" db=2.5ms idle=127.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 21:20:17.497 [debug] QUERY OK source="media_profiles" db=2.9ms idle=126.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:20:17.502 [debug] QUERY OK source="media_items" db=4.3ms idle=86.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 [26] 21:20:17.506 [debug] QUERY OK source="media_metadata" db=2.1ms idle=17.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [26] 21:20:17.509 [debug] QUERY OK source="media_profiles" db=2.9ms 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] 21:20:17.512 [debug] QUERY OK source="settings" db=2.6ms 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 [] 21:20:17.515 [debug] QUERY OK source="settings" db=2.3ms 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 [] 21:20:17.517 [debug] Running yt-dlp command for action: get_downloadable_status 21:20:17.528 [debug] QUERY OK source="settings" db=2.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 [] 21:20:17.531 [debug] QUERY OK source="settings" db=2.6ms idle=22.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:20:17.534 [debug] QUERY OK source="settings" db=2.5ms 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 [] 21:20:17.535 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QIPu1gadZZw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/26/2d/262d7605dec13f20cf13855de746cea3b2b4e7eb096f74c3ad6e745c3bcce05c.json --sleep-requests 11 --sleep-interval 14 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:20:23.834 [info] {"source":"oban","duration":5600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:53.839 [info] {"source":"oban","duration":5090,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:00.787 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:21:23.844 [info] {"source":"oban","duration":3380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:29.339 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QIPu1gadZZw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/26/2d/262d7605dec13f20cf13855de746cea3b2b4e7eb096f74c3ad6e745c3bcce05c.json --sleep-requests 11 --sleep-interval 14 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] QIPu1gadZZw: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] QIPu1gadZZw: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] QIPu1gadZZw: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:21:29.340 [debug] Running yt-dlp command for action: download 21:21:29.343 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=594.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:21:29.345 [debug] QUERY OK source="settings" db=2.1ms idle=325.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:21:29.347 [debug] QUERY OK source="settings" db=1.9ms idle=327.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:21:29.348 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QIPu1gadZZw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e13 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e13 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1f/81/1f810aa6ef03c7797a58e2a2db73a0be1a0498ea4043880c5f7531e239ebc363.json --sleep-requests 11 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:21:53.848 [info] {"source":"oban","duration":4056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:22:00.788 [info] {"source":"oban","duration":265,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:22:23.854 [info] {"source":"oban","duration":5066,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:22:53.859 [info] {"source":"oban","duration":3832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:00.789 [info] {"source":"oban","duration":372,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:23:23.864 [info] {"source":"oban","duration":3350,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:53.874 [info] {"source":"oban","duration":7432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:55.501 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QIPu1gadZZw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e13 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e13 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1f/81/1f810aa6ef03c7797a58e2a2db73a0be1a0498ea4043880c5f7531e239ebc363.json --sleep-requests 11 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] QIPu1gadZZw: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] QIPu1gadZZw: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] QIPu1gadZZw: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:23:55.596 [debug] Running yt-dlp command for action: download_thumbnail 21:23:55.600 [debug] QUERY OK source="settings" db=2.2ms idle=580.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:23:55.602 [debug] QUERY OK source="settings" db=1.9ms 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 [] 21:23:55.605 [debug] QUERY OK source="settings" db=2.3ms idle=584.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:23:55.605 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QIPu1gadZZw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/26/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/89/12/89121b48ff368d9b023066d61b64f4b9a9133790c24f9c95a58d572fe92d7e18.json --sleep-requests 15 --sleep-interval 11 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:24:00.790 [info] {"source":"oban","duration":260,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:24:23.879 [info] {"source":"oban","duration":3568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:24:53.883 [info] {"source":"oban","duration":3678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:00.791 [info] {"source":"oban","duration":289,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:25:23.887 [info] {"source":"oban","duration":3394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:34.090 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QIPu1gadZZw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/26/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/89/12/89121b48ff368d9b023066d61b64f4b9a9133790c24f9c95a58d572fe92d7e18.json --sleep-requests 15 --sleep-interval 11 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] QIPu1gadZZw: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] QIPu1gadZZw: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] QIPu1gadZZw: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:25:34.091 [debug] QUERY OK db=0.1ms idle=1072.1ms begin [] 21:25:34.122 [debug] QUERY OK source="media_items" db=31.1ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 01:23:55Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e13 - Minecraft_-_Part_13_-_Setting_up_the_Obsidian_Outpost.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e13 - Minecraft_-_Part_13_-_Setting_up_the_Obsidian_Outpost.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e13 - Minecraft_-_Part_13_-_Setting_up_the_Obsidian_Outpost.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e13 - Minecraft_-_Part_13_-_Setting_up_the_Obsidian_Outpost-thumb.jpg", ~U[2025-10-28 01:25:34Z], 26] 21:25:34.126 [debug] QUERY OK source="media_metadata" db=3.7ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/26/metadata.json.gz", "/config/metadata/media_items/26/thumbnail.jpg", 26, ~U[2025-10-28 01:25:34Z], ~U[2025-10-28 01:25:34Z]] 21:25:34.185 [debug] QUERY OK db=58.8ms commit [] 21:25:34.255 [debug] QUERY OK source="media_items" db=67.3ms idle=1169.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [103483908, ~U[2025-10-28 01:25:34Z], 26] 21:25:34.257 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:25:34.298 [info] {"args":{"id":26},"id":105,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":316770640,"event":"job:stop","queue_time":14714416660,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:25:34.357 [info] {"args":{"id":27},"id":106,"meta":{},"system_time":1761614734356818485,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:25:34.360 [debug] QUERY OK source="media_items" db=3.3ms idle=337.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" = ?) [27] 21:25:34.361 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:25:34.364 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=175.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 21:25:34.367 [debug] QUERY OK source="media_profiles" db=2.7ms idle=108.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:25:34.371 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=69.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 [27] 21:25:34.375 [debug] QUERY OK source="media_metadata" db=2.5ms idle=16.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [27] 21:25:34.378 [debug] QUERY OK source="media_profiles" db=2.4ms idle=14.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:25:34.381 [debug] QUERY OK source="settings" db=2.8ms 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 [] 21:25:34.384 [debug] QUERY OK source="settings" db=2.6ms 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 [] 21:25:34.386 [debug] Running yt-dlp command for action: get_downloadable_status 21:25:34.397 [debug] QUERY OK source="settings" db=2.9ms idle=23.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:25:34.400 [debug] QUERY OK source="settings" db=2.7ms 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 [] 21:25:34.404 [debug] QUERY OK source="settings" db=2.6ms idle=23.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:25:34.404 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=krC7OEk4tic --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f9/bc/f9bc0ddd84af04ce8ed276d1492fa82be90d331603251715be9eb8d912fbf023.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:25:53.891 [info] {"source":"oban","duration":4108,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:00.792 [info] {"source":"oban","duration":269,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:26:23.897 [info] {"source":"oban","duration":4868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:32.658 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=krC7OEk4tic --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f9/bc/f9bc0ddd84af04ce8ed276d1492fa82be90d331603251715be9eb8d912fbf023.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] krC7OEk4tic: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] krC7OEk4tic: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] krC7OEk4tic: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:26:32.658 [debug] Running yt-dlp command for action: download 21:26:32.662 [debug] QUERY OK source="settings" db=3.1ms queue=0.3ms idle=1365.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:26:32.668 [debug] QUERY OK source="settings" db=5.4ms idle=644.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:26:32.674 [debug] QUERY OK source="settings" db=5.4ms queue=0.1ms idle=650.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:26:32.675 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=krC7OEk4tic --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e14 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e14 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/79/78/797883fa37e60bacb74c52a940bb85d2ce32e791e00117b7da44e5482cd2e5b7.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:26:53.902 [info] {"source":"oban","duration":3734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:00.793 [info] {"source":"oban","duration":289,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:27:23.908 [info] {"source":"oban","duration":5189,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:53.913 [info] {"source":"oban","duration":4117,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:00.794 [info] {"source":"oban","duration":281,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:28:23.919 [info] {"source":"oban","duration":4573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:53.923 [info] {"source":"oban","duration":4021,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:00.795 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:29:20.658 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=krC7OEk4tic --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e14 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e14 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/79/78/797883fa37e60bacb74c52a940bb85d2ce32e791e00117b7da44e5482cd2e5b7.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] krC7OEk4tic: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] krC7OEk4tic: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] krC7OEk4tic: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:29:20.728 [debug] Running yt-dlp command for action: download_thumbnail 21:29:20.733 [debug] QUERY OK source="settings" db=2.4ms idle=1711.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:29:20.736 [debug] QUERY OK source="settings" db=2.6ms idle=1617.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:29:20.738 [debug] QUERY OK source="settings" db=2.3ms idle=717.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:29:20.739 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=krC7OEk4tic --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/27/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/3c/c9/3cc91e7600cc5006538771550abcff6386fd04585edf06b72cbfc4ce451747de.json --sleep-requests 15 --sleep-interval 14 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:29:23.928 [info] {"source":"oban","duration":3263,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:53.932 [info] {"source":"oban","duration":3475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:00.796 [info] {"source":"oban","duration":336,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:30:23.937 [info] {"source":"oban","duration":4782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:53.942 [info] {"source":"oban","duration":3776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:00.797 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:31:01.309 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=krC7OEk4tic --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/27/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/3c/c9/3cc91e7600cc5006538771550abcff6386fd04585edf06b72cbfc4ce451747de.json --sleep-requests 15 --sleep-interval 14 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] krC7OEk4tic: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] krC7OEk4tic: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] krC7OEk4tic: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:31:01.310 [debug] QUERY OK db=0.0ms idle=717.8ms begin [] 21:31:01.353 [debug] QUERY OK source="media_items" db=42.2ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 01:29:20Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e14 - Minecraft_-_Part_14_-_In_Search_of_Diamond.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e14 - Minecraft_-_Part_14_-_In_Search_of_Diamond.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e14 - Minecraft_-_Part_14_-_In_Search_of_Diamond.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e14 - Minecraft_-_Part_14_-_In_Search_of_Diamond-thumb.jpg", ~U[2025-10-28 01:31:01Z], 27] 21:31:01.357 [debug] QUERY OK source="media_metadata" db=3.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/27/metadata.json.gz", "/config/metadata/media_items/27/thumbnail.jpg", 27, ~U[2025-10-28 01:31:01Z], ~U[2025-10-28 01:31:01Z]] 21:31:01.418 [debug] QUERY OK db=60.7ms commit [] 21:31:01.494 [debug] QUERY OK source="media_items" db=72.3ms idle=625.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [87634024, ~U[2025-10-28 01:31:01Z], 27] 21:31:01.497 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:31:01.541 [info] {"args":{"id":27},"id":106,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":327140246,"event":"job:stop","queue_time":15031303697,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:31:01.591 [info] {"args":{"id":28},"id":107,"meta":{},"system_time":1761615061591558101,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:31:01.595 [debug] QUERY OK source="media_items" db=3.0ms idle=573.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" = ?) [28] 21:31:01.595 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:31:01.597 [debug] QUERY OK source="sources" db=1.9ms idle=101.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 21:31:01.599 [debug] QUERY OK source="media_profiles" db=1.8ms idle=57.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:31:01.604 [debug] QUERY OK source="media_items" db=3.6ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [28] 21:31:01.608 [debug] QUERY OK source="media_metadata" db=2.5ms idle=10.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [28] 21:31:01.610 [debug] QUERY OK source="media_profiles" db=2.3ms idle=10.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:31:01.614 [debug] QUERY OK source="settings" db=2.3ms 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 [] 21:31:01.616 [debug] QUERY OK source="settings" db=2.6ms 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 [] 21:31:01.619 [debug] Running yt-dlp command for action: get_downloadable_status 21:31:01.623 [debug] QUERY OK source="settings" db=2.3ms idle=16.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:31:01.625 [debug] QUERY OK source="settings" db=2.2ms idle=15.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:31:01.628 [debug] QUERY OK source="settings" db=2.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 [] 21:31:01.628 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZXbMTFdgzCo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8f/99/8f99ea8fa0a9e04c20cbc9360f040da7544017d360130b5466fd4dd50671f79c.json --sleep-requests 14 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:31:23.948 [info] {"source":"oban","duration":4592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:53.953 [info] {"source":"oban","duration":4591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:00.800 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:32:23.959 [info] {"source":"oban","duration":5275,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:29.894 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZXbMTFdgzCo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8f/99/8f99ea8fa0a9e04c20cbc9360f040da7544017d360130b5466fd4dd50671f79c.json --sleep-requests 14 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] ZXbMTFdgzCo: nsig extraction failed: Some formats may be missing n = 4lT8WwuuR8L3lfc2 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] ZXbMTFdgzCo: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] ZXbMTFdgzCo: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:32:29.894 [debug] Running yt-dlp command for action: download 21:32:29.898 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=876.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:32:29.900 [debug] QUERY OK source="settings" db=2.1ms idle=879.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:32:29.902 [debug] QUERY OK source="settings" db=1.9ms idle=881.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:32:29.903 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZXbMTFdgzCo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e15 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e15 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/38/e7/38e72b6f8af06c929c63511b5e5c1358a41e978cd5aadb648f102a32c4e28d51.json --sleep-requests 15 --sleep-interval 14 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:32:53.963 [info] {"source":"oban","duration":3451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:00.802 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:33:23.968 [info] {"source":"oban","duration":4806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:53.973 [info] {"source":"oban","duration":3631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:00.803 [info] {"source":"oban","duration":267,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:34:23.979 [info] {"source":"oban","duration":5728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:53.984 [info] {"source":"oban","duration":3616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:00.804 [info] {"source":"oban","duration":306,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:35:18.373 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZXbMTFdgzCo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e15 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e15 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/38/e7/38e72b6f8af06c929c63511b5e5c1358a41e978cd5aadb648f102a32c4e28d51.json --sleep-requests 15 --sleep-interval 14 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] ZXbMTFdgzCo: nsig extraction failed: Some formats may be missing n = 15BOfS4j6jHceh3k ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] ZXbMTFdgzCo: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] ZXbMTFdgzCo: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:35:18.472 [debug] Running yt-dlp command for action: download_thumbnail 21:35:18.477 [debug] QUERY OK source="settings" db=2.4ms idle=1439.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:35:18.480 [debug] QUERY OK source="settings" db=2.5ms idle=1442.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:35:18.482 [debug] QUERY OK source="settings" db=2.2ms queue=0.2ms idle=1406.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:35:18.483 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZXbMTFdgzCo --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/28/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/6d/59/6d596c21761f68f09cef47ac7b5eda1d03b150d11c76b0ee7706b4c3a0efc512.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:35:23.988 [info] {"source":"oban","duration":3343,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:53.992 [info] {"source":"oban","duration":3496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:00.805 [info] {"source":"oban","duration":326,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:36:23.996 [info] {"source":"oban","duration":3921,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:44.447 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZXbMTFdgzCo --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/28/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/6d/59/6d596c21761f68f09cef47ac7b5eda1d03b150d11c76b0ee7706b4c3a0efc512.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] ZXbMTFdgzCo: nsig extraction failed: Some formats may be missing n = c-9WW8TDx8GnQT_Q ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] ZXbMTFdgzCo: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] ZXbMTFdgzCo: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:36:44.448 [debug] QUERY OK db=0.1ms idle=1406.1ms begin [] 21:36:44.475 [debug] QUERY OK source="media_items" db=26.5ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 01:35:18Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e15 - Minecraft_-_Part_15_-_Hoarding_Obsidian.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e15 - Minecraft_-_Part_15_-_Hoarding_Obsidian.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e15 - Minecraft_-_Part_15_-_Hoarding_Obsidian.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e15 - Minecraft_-_Part_15_-_Hoarding_Obsidian-thumb.jpg", ~U[2025-10-28 01:36:44Z], 28] 21:36:44.478 [debug] QUERY OK source="media_metadata" db=3.3ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/28/metadata.json.gz", "/config/metadata/media_items/28/thumbnail.jpg", 28, ~U[2025-10-28 01:36:44Z], ~U[2025-10-28 01:36:44Z]] 21:36:44.542 [debug] QUERY OK db=63.2ms commit [] 21:36:44.618 [debug] QUERY OK source="media_items" db=74.0ms idle=1061.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [108865518, ~U[2025-10-28 01:36:44Z], 28] 21:36:44.619 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:36:44.660 [info] {"args":{"id":28},"id":107,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":343028402,"event":"job:stop","queue_time":15358546691,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:36:44.718 [info] {"args":{"id":29},"id":108,"meta":{},"system_time":1761615404718394239,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:36:44.722 [debug] QUERY OK source="media_items" db=3.3ms queue=0.1ms idle=176.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [29] 21:36:44.722 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:36:44.725 [debug] QUERY OK source="sources" db=2.7ms idle=104.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 21:36:44.728 [debug] QUERY OK source="media_profiles" db=2.8ms idle=65.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:36:44.732 [debug] QUERY OK source="media_items" db=3.3ms idle=62.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 [29] 21:36:44.736 [debug] QUERY OK source="media_metadata" db=2.6ms idle=15.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [29] 21:36:44.740 [debug] QUERY OK source="media_profiles" db=3.1ms queue=0.1ms idle=14.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:36:44.743 [debug] QUERY OK source="settings" db=2.4ms queue=0.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 [] 21:36:44.746 [debug] QUERY OK source="settings" db=2.4ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:44.748 [debug] Running yt-dlp command for action: get_downloadable_status 21:36:44.751 [debug] QUERY OK source="settings" db=2.4ms 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 [] 21:36:44.754 [debug] QUERY OK source="settings" db=2.3ms 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 [] 21:36:44.756 [debug] QUERY OK source="settings" db=2.5ms 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 [] 21:36:44.757 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HfYqtRscfOI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/02/a0/02a012689823992d247455c2d1302c283ffe6dfd39ae5aef16b370c1ffb52f53.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:36:54.003 [info] {"source":"oban","duration":5976,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:00.806 [info] {"source":"oban","duration":296,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:37:24.008 [info] {"source":"oban","duration":3565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:54.013 [info] {"source":"oban","duration":4798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:54.637 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HfYqtRscfOI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/02/a0/02a012689823992d247455c2d1302c283ffe6dfd39ae5aef16b370c1ffb52f53.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] HfYqtRscfOI: nsig extraction failed: Some formats may be missing n = OChTSHfizCFTWKck ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] HfYqtRscfOI: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] HfYqtRscfOI: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:37:54.637 [debug] Running yt-dlp command for action: download 21:37:54.640 [debug] QUERY OK source="settings" db=2.3ms idle=1596.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:54.642 [debug] QUERY OK source="settings" db=2.1ms idle=654.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:54.645 [debug] QUERY OK source="settings" db=2.4ms 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 [] 21:37:54.646 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HfYqtRscfOI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e16 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e16 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/df/2d/df2dcbf8703a70eddf34dd7407c84738091b5539f6022cc69453fea4b1061f68.json --sleep-requests 12 --sleep-interval 11 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:38:00.807 [info] {"source":"oban","duration":298,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:38:24.019 [info] {"source":"oban","duration":5224,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:38:54.024 [info] {"source":"oban","duration":3398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:00.808 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:39:24.028 [info] {"source":"oban","duration":4110,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:54.033 [info] {"source":"oban","duration":4018,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:00.809 [info] {"source":"oban","duration":281,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:40:24.038 [info] {"source":"oban","duration":3810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:38.944 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HfYqtRscfOI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e16 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e16 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/df/2d/df2dcbf8703a70eddf34dd7407c84738091b5539f6022cc69453fea4b1061f68.json --sleep-requests 12 --sleep-interval 11 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] HfYqtRscfOI: nsig extraction failed: Some formats may be missing n = AhftutVCD39Ge8Dy ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] HfYqtRscfOI: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] HfYqtRscfOI: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:40:39.023 [debug] Running yt-dlp command for action: download_thumbnail 21:40:39.035 [debug] QUERY OK source="settings" db=2.7ms idle=1989.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:40:39.037 [debug] QUERY OK source="settings" db=2.2ms idle=1992.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:40:39.039 [debug] QUERY OK source="settings" db=2.0ms idle=1141.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:40:39.040 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HfYqtRscfOI --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/29/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/62/a8/62a8313b824b941b2d94a1cbe341b44d5f161db6685afb57b023792d775d566b.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:40:54.043 [info] {"source":"oban","duration":4008,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:00.810 [info] {"source":"oban","duration":303,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:41:24.048 [info] {"source":"oban","duration":3397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:53.383 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HfYqtRscfOI --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/29/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/62/a8/62a8313b824b941b2d94a1cbe341b44d5f161db6685afb57b023792d775d566b.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] HfYqtRscfOI: nsig extraction failed: Some formats may be missing n = ewSBlaHt1yEPJJjF ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] HfYqtRscfOI: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] HfYqtRscfOI: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:41:53.384 [debug] QUERY OK db=0.2ms idle=1341.6ms begin [] 21:41:53.410 [debug] QUERY OK source="media_items" db=25.7ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 01:40:38Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e16 - Minecraft_-_Part_16_-_Dark_Constructions.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e16 - Minecraft_-_Part_16_-_Dark_Constructions.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e16 - Minecraft_-_Part_16_-_Dark_Constructions.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e16 - Minecraft_-_Part_16_-_Dark_Constructions-thumb.jpg", ~U[2025-10-28 01:41:53Z], 29] 21:41:53.417 [debug] QUERY OK source="media_metadata" db=6.4ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/29/metadata.json.gz", "/config/metadata/media_items/29/thumbnail.jpg", 29, ~U[2025-10-28 01:41:53Z], ~U[2025-10-28 01:41:53Z]] 21:41:53.550 [debug] QUERY OK db=132.2ms commit [] 21:41:53.708 [debug] QUERY OK source="media_items" db=156.0ms idle=1509.4ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [174282120, ~U[2025-10-28 01:41:53Z], 29] 21:41:53.711 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:41:53.836 [info] {"args":{"id":29},"id":108,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":308992713,"event":"job:stop","queue_time":15700666607,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:41:53.961 [info] {"args":{"id":30},"id":109,"meta":{},"system_time":1761615713961596619,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:41:53.965 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=707.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" = ?) [30] 21:41:53.965 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:41:53.969 [debug] QUERY OK source="sources" db=2.9ms idle=415.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 21:41:53.972 [debug] QUERY OK source="media_profiles" db=2.6ms idle=260.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:41:53.976 [debug] QUERY OK source="media_items" db=4.1ms idle=136.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 [30] 21:41:53.981 [debug] QUERY OK source="media_metadata" db=2.5ms idle=17.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [30] 21:41:53.984 [debug] QUERY OK source="media_profiles" db=2.8ms queue=0.1ms idle=16.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:41:53.987 [debug] QUERY OK source="settings" db=2.6ms 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 [] 21:41:53.990 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms 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 [] 21:41:53.993 [debug] Running yt-dlp command for action: get_downloadable_status 21:41:54.004 [debug] QUERY OK source="settings" db=3.4ms 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 [] 21:41:54.008 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms 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 [] 21:41:54.011 [debug] QUERY OK source="settings" db=2.3ms 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 [] 21:41:54.011 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tchKUw1PA1A --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b2/b2/b2b282dd11ab60a3e30730f389c76b686c696ef0723555268da21cb23e6321a4.json --sleep-requests 14 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:41:54.054 [info] {"source":"oban","duration":5458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:00.811 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:42:24.059 [info] {"source":"oban","duration":4442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:54.065 [info] {"source":"oban","duration":5285,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:43:00.812 [info] {"source":"oban","duration":487,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:43:07.497 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tchKUw1PA1A --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b2/b2/b2b282dd11ab60a3e30730f389c76b686c696ef0723555268da21cb23e6321a4.json --sleep-requests 14 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] tchKUw1PA1A: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] tchKUw1PA1A: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] tchKUw1PA1A: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:43:07.498 [debug] Running yt-dlp command for action: download 21:43:07.501 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=1455.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:07.503 [debug] QUERY OK source="settings" db=2.1ms idle=1458.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:07.505 [debug] QUERY OK source="settings" db=2.1ms idle=1460.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:07.506 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tchKUw1PA1A --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e17 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e17 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/20/1e/201eb49d4b6d915a5fced1f7db92c79c29e6334c963de71b12eaa6050bafa976.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:43:24.069 [info] {"source":"oban","duration":3691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:43:54.075 [info] {"source":"oban","duration":5238,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:00.813 [info] {"source":"oban","duration":305,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:44:24.080 [info] {"source":"oban","duration":3266,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:54.085 [info] {"source":"oban","duration":4867,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:00.814 [info] {"source":"oban","duration":269,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:45:24.090 [info] {"source":"oban","duration":3702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:54.095 [info] {"source":"oban","duration":3333,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:54.222 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tchKUw1PA1A --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e17 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e17 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/20/1e/201eb49d4b6d915a5fced1f7db92c79c29e6334c963de71b12eaa6050bafa976.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] tchKUw1PA1A: nsig extraction failed: Some formats may be missing n = c3ZJ2xMhrUp3k4nM ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] tchKUw1PA1A: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] tchKUw1PA1A: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:45:54.286 [debug] Running yt-dlp command for action: download_thumbnail 21:45:54.289 [debug] QUERY OK source="settings" db=2.4ms idle=240.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:45:54.292 [debug] QUERY OK source="settings" db=2.3ms idle=243.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:45:54.294 [debug] QUERY OK source="settings" db=2.1ms idle=245.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:45:54.295 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tchKUw1PA1A --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/30/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/3b/57/3b57eb2ed8fb75daedcdfe114636c06898ee1eec906eb648d67a881ce52a1d2b.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:46:00.815 [info] {"source":"oban","duration":286,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:46:24.099 [info] {"source":"oban","duration":4063,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:46:54.104 [info] {"source":"oban","duration":3511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:00.816 [info] {"source":"oban","duration":335,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:47:14.127 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=tchKUw1PA1A --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/30/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/3b/57/3b57eb2ed8fb75daedcdfe114636c06898ee1eec906eb648d67a881ce52a1d2b.json --sleep-requests 12 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] tchKUw1PA1A: nsig extraction failed: Some formats may be missing n = NNRm2-3t-Mb9KCsU ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] tchKUw1PA1A: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] tchKUw1PA1A: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:47:14.128 [debug] QUERY OK db=0.1ms idle=166.4ms begin [] 21:47:14.147 [debug] QUERY OK source="media_items" db=18.1ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 01:45:54Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e17 - Minecraft_-_Part_17_-_Yogcastle_Construction_Interrupted.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e17 - Minecraft_-_Part_17_-_Yogcastle_Construction_Interrupted.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e17 - Minecraft_-_Part_17_-_Yogcastle_Construction_Interrupted.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e17 - Minecraft_-_Part_17_-_Yogcastle_Construction_Interrupted-thumb.jpg", ~U[2025-10-28 01:47:14Z], 30] 21:47:14.150 [debug] QUERY OK source="media_metadata" db=3.0ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/30/metadata.json.gz", "/config/metadata/media_items/30/thumbnail.jpg", 30, ~U[2025-10-28 01:47:14Z], ~U[2025-10-28 01:47:14Z]] 21:47:14.210 [debug] QUERY OK db=59.6ms commit [] 21:47:14.279 [debug] QUERY OK source="media_items" db=66.2ms idle=166.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [142686410, ~U[2025-10-28 01:47:14Z], 30] 21:47:14.281 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:47:14.321 [info] {"args":{"id":30},"id":109,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":320319901,"event":"job:stop","queue_time":16009842644,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:47:14.372 [info] {"args":{"id":31},"id":110,"meta":{},"system_time":1761616034371990827,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:47:14.375 [debug] QUERY OK source="media_items" db=2.9ms idle=325.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [31] 21:47:14.375 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:47:14.379 [debug] QUERY OK source="sources" db=2.9ms idle=165.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 21:47:14.382 [debug] QUERY OK source="media_profiles" db=2.7ms queue=0.1ms idle=99.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:47:14.386 [debug] QUERY OK source="media_items" db=3.7ms idle=61.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 [31] 21:47:14.390 [debug] QUERY OK source="media_metadata" db=2.3ms idle=16.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [31] 21:47:14.393 [debug] QUERY OK source="media_profiles" db=3.0ms 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] 21:47:14.397 [debug] QUERY OK source="settings" db=2.7ms 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 [] 21:47:14.399 [debug] QUERY OK source="settings" db=2.5ms 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 [] 21:47:14.401 [debug] Running yt-dlp command for action: get_downloadable_status 21:47:14.406 [debug] QUERY OK source="settings" db=2.4ms 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 [] 21:47:14.409 [debug] QUERY OK source="settings" db=2.3ms 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 [] 21:47:14.411 [debug] QUERY OK source="settings" db=2.3ms idle=15.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:47:14.412 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=O2A26hNH03w --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2f/d3/2fd3178e3fbfecd6d53c2fc6359deebedd27799454c87d71598b27137711cff2.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:47:24.110 [info] {"source":"oban","duration":6114,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:54.116 [info] {"source":"oban","duration":5127,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:00.817 [info] {"source":"oban","duration":307,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:48:24.122 [info] {"source":"oban","duration":5302,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:36.599 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=O2A26hNH03w --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2f/d3/2fd3178e3fbfecd6d53c2fc6359deebedd27799454c87d71598b27137711cff2.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] O2A26hNH03w: nsig extraction failed: Some formats may be missing n = JYcRuPdBpBdJfLTf ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] O2A26hNH03w: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] O2A26hNH03w: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:48:36.599 [debug] Running yt-dlp command for action: download 21:48:36.602 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=553.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:48:36.605 [debug] QUERY OK source="settings" db=2.4ms idle=555.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:48:36.607 [debug] QUERY OK source="settings" db=2.2ms idle=558.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:48:36.608 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=O2A26hNH03w --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e18 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e18 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0d/5a/0d5a53035329c8cdb48b57c4818a75dd1fdb82cd05e6ebfd0c83b386ab7bf9eb.json --sleep-requests 11 --sleep-interval 14 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:48:54.127 [info] {"source":"oban","duration":3729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:00.818 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:49:24.134 [info] {"source":"oban","duration":5263,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:54.138 [info] {"source":"oban","duration":3725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:00.819 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:50:24.142 [info] {"source":"oban","duration":3699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:46.211 [info] GET /sources/1/media/54/edit 21:50:46.211 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "54", "source_id" => "1"} Pipelines: [:browser] 21:50:46.215 [debug] QUERY OK source="media_items" db=3.4ms idle=202.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" = ?) [54] 21:50:46.218 [debug] QUERY OK source="settings" db=2.4ms idle=169.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:50:46.221 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=172.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:50:46.224 [debug] QUERY OK source="settings" db=2.3ms idle=175.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:50:46.228 [info] Sent 200 in 17ms 21:50:46.711 [info] GET /sources/1/media/97/edit 21:50:46.711 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "97", "source_id" => "1"} Pipelines: [:browser] 21:50:46.728 [debug] QUERY OK source="media_items" db=15.7ms idle=665.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" = ?) [97] 21:50:46.731 [debug] QUERY OK source="settings" db=2.7ms idle=513.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:50:46.735 [debug] QUERY OK source="settings" db=3.8ms idle=512.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:50:46.739 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=514.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:50:46.740 [info] Sent 200 in 29ms 21:50:47.212 [info] GET /sources/1/media/57/edit 21:50:47.212 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "57", "source_id" => "1"} Pipelines: [:browser] 21:50:47.216 [debug] QUERY OK source="media_items" db=3.1ms idle=484.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" = ?) [57] 21:50:47.219 [debug] QUERY OK source="settings" db=2.7ms idle=485.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:50:47.222 [debug] QUERY OK source="settings" db=2.8ms idle=484.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:50:47.225 [debug] QUERY OK source="settings" db=2.3ms idle=484.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:50:47.226 [info] Sent 200 in 14ms 21:50:54.147 [info] {"source":"oban","duration":3572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:00.820 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:51:07.106 [info] GET /sources/1/media/58 21:51:07.106 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "58", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 21:51:07.172 [debug] QUERY OK source="media_items" db=64.8ms idle=1060.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" = ?) [58] 21:51:07.264 [debug] QUERY OK source="sources" db=91.2ms idle=1022.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 21:51:07.268 [debug] QUERY OK source="tasks" db=95.7ms idle=125.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" [58] 21:51:07.277 [debug] QUERY OK source="oban_jobs" db=7.3ms queue=0.1ms idle=221.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" = ?) [50] 21:51:07.287 [debug] QUERY OK source="settings" db=9.3ms idle=113.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:51:07.290 [debug] QUERY OK source="settings" db=2.8ms idle=115.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:51:07.296 [debug] QUERY OK source="settings" db=4.7ms queue=0.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 [] 21:51:07.302 [debug] QUERY OK source="media_profiles" db=5.0ms idle=28.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:51:07.306 [info] Sent 200 in 200ms 21:51:07.314 [info] GET /sources/1/media/58/edit 21:51:07.314 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "58", "source_id" => "1"} Pipelines: [:browser] 21:51:07.317 [debug] QUERY OK source="media_items" db=2.5ms idle=37.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" = ?) [58] 21:51:07.320 [debug] QUERY OK source="settings" db=2.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 [] 21:51:07.323 [debug] QUERY OK source="settings" db=3.2ms idle=29.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:51:07.328 [debug] QUERY OK source="settings" db=3.1ms idle=28.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:51:07.330 [info] Sent 200 in 15ms 21:51:07.814 [info] GET /sources/1/media/56/edit 21:51:07.814 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "56", "source_id" => "1"} Pipelines: [:browser] 21:51:07.817 [debug] QUERY OK source="media_items" db=3.1ms idle=512.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" = ?) [56] 21:51:07.821 [debug] QUERY OK source="settings" db=2.6ms idle=501.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:51:07.823 [debug] QUERY OK source="settings" db=2.2ms idle=501.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:51:07.826 [debug] QUERY OK source="settings" db=2.2ms 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 [] 21:51:07.828 [info] Sent 200 in 14ms 21:51:17.287 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=O2A26hNH03w --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e18 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e18 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0d/5a/0d5a53035329c8cdb48b57c4818a75dd1fdb82cd05e6ebfd0c83b386ab7bf9eb.json --sleep-requests 11 --sleep-interval 14 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] O2A26hNH03w: nsig extraction failed: Some formats may be missing n = bPBQ9bUtf7qUKFV0 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] O2A26hNH03w: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] O2A26hNH03w: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:51:17.398 [debug] Running yt-dlp command for action: download_thumbnail 21:51:17.408 [debug] QUERY OK source="settings" db=2.3ms idle=358.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:51:17.411 [debug] QUERY OK source="settings" db=2.4ms idle=361.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:51:17.414 [debug] QUERY OK source="settings" db=2.2ms 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 [] 21:51:17.414 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=O2A26hNH03w --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/31/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/a6/1d/a61d43f567146dc5c21232a4fc1c880422d24c81a33526ef780956986253bf83.json --sleep-requests 11 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:51:24.151 [info] {"source":"oban","duration":3725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:32.614 [info] GET /sources/1/media/57 21:51:32.614 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "57", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 21:51:32.617 [debug] QUERY OK source="media_items" db=2.7ms idle=1567.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" = ?) [57] 21:51:32.620 [debug] QUERY OK source="sources" db=1.8ms idle=1334.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 21:51:32.621 [debug] QUERY OK source="tasks" db=3.1ms idle=1570.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [57] 21:51:32.624 [debug] QUERY OK source="oban_jobs" db=2.2ms idle=574.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [49] 21:51:32.626 [debug] QUERY OK source="settings" db=2.0ms idle=335.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:51:32.629 [debug] QUERY OK source="settings" db=2.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 [] 21:51:32.632 [debug] QUERY OK source="settings" db=2.5ms 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 [] 21:51:32.635 [debug] QUERY OK source="media_profiles" db=2.4ms idle=11.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:51:32.638 [info] Sent 200 in 24ms 21:51:32.963 [info] GET /sources/1/media/54 21:51:32.963 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "54", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 21:51:32.966 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=339.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [54] 21:51:32.969 [debug] QUERY OK source="sources" db=2.1ms idle=337.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 21:51:32.971 [debug] QUERY OK source="tasks" db=3.8ms idle=340.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" [54] 21:51:32.974 [debug] QUERY OK source="oban_jobs" db=2.8ms idle=338.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" = ?) [46] 21:51:32.977 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=338.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:51:32.979 [debug] QUERY OK source="settings" db=2.4ms 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 [] 21:51:33.003 [debug] QUERY OK source="settings" db=23.4ms 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 [] 21:51:33.013 [debug] QUERY OK source="media_profiles" db=3.0ms 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] 21:51:33.016 [info] Sent 200 in 52ms 21:51:33.463 [info] GET /sources/1/media/56 21:51:33.464 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "56", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 21:51:33.467 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=487.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" = ?) [56] 21:51:33.470 [debug] QUERY OK source="tasks" db=2.4ms idle=488.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [56] 21:51:33.471 [debug] QUERY OK source="sources" db=2.7ms idle=464.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 21:51:33.475 [debug] QUERY OK source="oban_jobs" db=3.3ms idle=458.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [48] 21:51:33.477 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=182.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:51:33.480 [debug] QUERY OK source="settings" db=2.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 [] 21:51:33.482 [debug] QUERY OK source="settings" db=1.8ms 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 [] 21:51:33.485 [debug] QUERY OK source="media_profiles" db=2.2ms idle=12.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:51:33.491 [info] Sent 200 in 27ms 21:51:54.157 [info] {"source":"oban","duration":4464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:00.821 [info] {"source":"oban","duration":288,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:52:24.161 [info] {"source":"oban","duration":4009,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:30.779 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=O2A26hNH03w --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/31/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/a6/1d/a61d43f567146dc5c21232a4fc1c880422d24c81a33526ef780956986253bf83.json --sleep-requests 11 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] O2A26hNH03w: nsig extraction failed: Some formats may be missing n = pOO7j4nHLL_FI87R ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] O2A26hNH03w: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] O2A26hNH03w: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:52:30.780 [debug] QUERY OK db=0.0ms idle=1216.8ms begin [] 21:52:30.963 [debug] QUERY OK source="media_items" db=183.4ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 01:51:17Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e18 - Minecraft_-_Part_18_-_Chasing_Israphel.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e18 - Minecraft_-_Part_18_-_Chasing_Israphel.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e18 - Minecraft_-_Part_18_-_Chasing_Israphel.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e18 - Minecraft_-_Part_18_-_Chasing_Israphel-thumb.jpg", ~U[2025-10-28 01:52:30Z], 31] 21:52:30.967 [debug] QUERY OK source="media_metadata" db=3.2ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/31/metadata.json.gz", "/config/metadata/media_items/31/thumbnail.jpg", 31, ~U[2025-10-28 01:52:30Z], ~U[2025-10-28 01:52:30Z]] 21:52:31.031 [debug] QUERY OK db=63.4ms commit [] 21:52:31.107 [debug] QUERY OK source="media_items" db=74.2ms idle=985.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [186766667, ~U[2025-10-28 01:52:31Z], 31] 21:52:31.108 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:52:31.158 [info] {"args":{"id":31},"id":110,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":316736930,"event":"job:stop","queue_time":16329327619,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:52:31.221 [info] {"args":{"id":32},"id":111,"meta":{},"system_time":1761616351221539257,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:52:31.225 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=654.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" = ?) [32] 21:52:31.225 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:52:31.228 [debug] QUERY OK source="sources" db=2.3ms queue=0.1ms idle=194.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 21:52:31.231 [debug] QUERY OK source="media_profiles" db=2.8ms idle=121.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:52:31.236 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=74.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 [32] 21:52:31.240 [debug] QUERY OK source="media_metadata" db=2.8ms idle=15.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [32] 21:52:31.242 [debug] QUERY OK source="media_profiles" db=2.4ms idle=15.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:52:31.245 [debug] QUERY OK source="settings" db=2.3ms queue=0.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 [] 21:52:31.248 [debug] QUERY OK source="settings" db=2.5ms 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 [] 21:52:31.250 [debug] Running yt-dlp command for action: get_downloadable_status 21:52:31.254 [debug] QUERY OK source="settings" db=2.3ms 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 [] 21:52:31.257 [debug] QUERY OK source="settings" db=2.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 [] 21:52:31.260 [debug] QUERY OK source="settings" db=2.3ms idle=14.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:52:31.260 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=6XOJ022IxT8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ff/52/ff52d23ccc16dfd1061aeeeca7bead12a62c8c5ec38d02a7afee959d1a5ad5c3.json --sleep-requests 14 --sleep-interval 15 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:52:54.167 [info] {"source":"oban","duration":4731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:00.822 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:53:24.172 [info] {"source":"oban","duration":4007,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:54.178 [info] {"source":"oban","duration":4321,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:00.388 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=6XOJ022IxT8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ff/52/ff52d23ccc16dfd1061aeeeca7bead12a62c8c5ec38d02a7afee959d1a5ad5c3.json --sleep-requests 14 --sleep-interval 15 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] 6XOJ022IxT8: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 6XOJ022IxT8: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 6XOJ022IxT8: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:54:00.389 [debug] Running yt-dlp command for action: download 21:54:00.392 [debug] QUERY OK source="settings" db=3.2ms idle=382.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:54:00.395 [debug] QUERY OK source="settings" db=2.2ms idle=345.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:54:00.398 [debug] QUERY OK source="settings" db=2.9ms idle=347.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:54:00.399 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=6XOJ022IxT8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e19 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e19 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/4f/85/4f85afab7a22e48499ba57e9c977b114320bab1207fa52a133dd26826036bd64.json --sleep-requests 13 --sleep-interval 13 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:54:00.823 [info] {"source":"oban","duration":330,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:54:09.415 [info] GET /media/e5dad0dc-e9fb-470d-afb5-b86e9d8f6da6/stream 21:54:09.416 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "e5dad0dc-e9fb-470d-afb5-b86e9d8f6da6"} Pipelines: [:maybe_basic_auth] 21:54:09.422 [debug] QUERY OK source="media_items" db=5.9ms idle=1368.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["e5dad0dc-e9fb-470d-afb5-b86e9d8f6da6"] 21:54:09.424 [debug] Invalid range request for media item: e5dad0dc-e9fb-470d-afb5-b86e9d8f6da6 - serving full file 21:54:09.424 [info] Sent 200 in 8ms 21:54:09.704 [info] GET /sources/1/media/97 21:54:09.705 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "97", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 21:54:09.708 [debug] QUERY OK source="media_items" db=2.7ms idle=1657.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [97] 21:54:09.710 [debug] QUERY OK source="sources" db=1.8ms idle=1660.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 21:54:09.730 [debug] QUERY OK source="tasks" db=21.3ms idle=1660.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" [97] 21:54:09.733 [debug] QUERY OK source="oban_jobs" db=2.5ms idle=679.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" = ?) [89] 21:54:09.736 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=311.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:54:09.738 [debug] QUERY OK source="settings" db=2.1ms idle=28.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:54:09.741 [debug] QUERY OK source="settings" db=2.3ms 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 [] 21:54:09.745 [debug] QUERY OK source="media_profiles" db=2.3ms 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] 21:54:09.748 [info] Sent 200 in 43ms 21:54:24.183 [info] {"source":"oban","duration":5145,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:33.440 [info] GET /sources/1/media/57/force_download 21:54:33.443 [debug] QUERY OK source="settings" db=2.7ms idle=1273.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:54:33.446 [debug] QUERY OK source="settings" db=2.4ms idle=396.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:54:33.446 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:54:33.447 [error] #PID<0.6147.0> running PinchflatWeb.Endpoint (connection #PID<0.6146.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/57/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/57/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6146.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/57/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51822}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.6147.0>, params: %{}, path_info: ["sources", "1", "media", "57", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.134"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "216.73.216.134"} ], request_path: "/sources/1/media/57/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHKE2WHjP9-rdgwAAI-h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6146.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/57/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51822}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/57/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6146.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/57/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51822}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.6147.0>, params: %{}, path_info: ["sources", "1", "media", "57", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", rem (truncated) 21:54:33.724 [info] GET /sources/1/media/97/force_download 21:54:33.728 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=677.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:54:33.730 [debug] QUERY OK source="settings" db=2.4ms idle=680.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:54:33.731 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:54:33.731 [error] #PID<0.6148.0> running PinchflatWeb.Endpoint (connection #PID<0.6146.0>, stream id 2) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/97/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/97/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6146.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/97/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51822}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.6148.0>, params: %{}, path_info: ["sources", "1", "media", "97", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.134"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "216.73.216.134"} ], request_path: "/sources/1/media/97/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHKE2XLWSC68SpQAAI_B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6146.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/97/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51822}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/97/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6146.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/97/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 51822}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.6148.0>, params: %{}, path_info: ["sources", "1", "media", "97", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", rem (truncated) 21:54:54.190 [info] {"source":"oban","duration":5225,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:00.823 [info] {"source":"oban","duration":279,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:55:18.530 [info] GET /media/318310b6-1760-4fca-91dd-5d514fddbb85/stream 21:55:18.531 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "318310b6-1760-4fca-91dd-5d514fddbb85"} Pipelines: [:maybe_basic_auth] 21:55:18.534 [debug] QUERY OK source="media_items" db=2.5ms idle=1483.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["318310b6-1760-4fca-91dd-5d514fddbb85"] 21:55:18.535 [debug] Invalid range request for media item: 318310b6-1760-4fca-91dd-5d514fddbb85 - serving full file 21:55:18.536 [info] Sent 200 in 5ms 21:55:18.753 [info] GET /media/dfa4ee36-5ab7-4633-9dc5-0d6b23e302cc/stream 21:55:18.754 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "dfa4ee36-5ab7-4633-9dc5-0d6b23e302cc"} Pipelines: [:maybe_basic_auth] 21:55:18.757 [debug] QUERY OK source="media_items" db=3.5ms idle=1369.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["dfa4ee36-5ab7-4633-9dc5-0d6b23e302cc"] 21:55:18.758 [debug] Invalid range request for media item: dfa4ee36-5ab7-4633-9dc5-0d6b23e302cc - serving full file 21:55:18.758 [info] Sent 200 in 5ms 21:55:24.194 [info] {"source":"oban","duration":3927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:54.199 [info] {"source":"oban","duration":4212,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:00.825 [info] {"source":"oban","duration":290,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:56:24.204 [info] {"source":"oban","duration":3821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:35.105 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=6XOJ022IxT8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e19 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e19 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/4f/85/4f85afab7a22e48499ba57e9c977b114320bab1207fa52a133dd26826036bd64.json --sleep-requests 13 --sleep-interval 13 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] 6XOJ022IxT8: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 6XOJ022IxT8: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 6XOJ022IxT8: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:56:35.176 [debug] Running yt-dlp command for action: download_thumbnail 21:56:35.181 [debug] QUERY OK source="settings" db=2.4ms idle=1126.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:56:35.183 [debug] QUERY OK source="settings" db=2.5ms idle=1129.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:56:35.186 [debug] QUERY OK source="settings" db=2.2ms idle=1132.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:56:35.187 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=6XOJ022IxT8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/32/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/cf/b6/cfb6794d089b0e2ea7717643d514aeb6d9fe8a2e198140422b56b0cce412b527.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:56:54.208 [info] {"source":"oban","duration":3267,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:00.826 [info] {"source":"oban","duration":311,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:57:21.852 [info] GET /sources/1/media/56/force_download 21:57:21.855 [debug] QUERY OK source="settings" db=2.2ms idle=1800.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:57:21.857 [debug] QUERY OK source="settings" db=2.4ms idle=1803.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:57:21.858 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:57:21.858 [error] #PID<0.6168.0> running PinchflatWeb.Endpoint (connection #PID<0.6167.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/56/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/56/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6167.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/56/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 43398}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.6168.0>, params: %{}, path_info: ["sources", "1", "media", "56", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.134"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "216.73.216.134"} ], request_path: "/sources/1/media/56/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHKFAJgEOV_7XG0AAHUC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6167.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/56/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 43398}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/56/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6167.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/56/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 43398}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.6168.0>, params: %{}, path_info: ["sources", "1", "media", "56", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", rem (truncated) 21:57:22.190 [info] GET /sources/1/media/54/force_download 21:57:22.193 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=1125.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:57:22.196 [debug] QUERY OK source="settings" db=2.2ms idle=338.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:57:22.196 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:57:22.196 [error] #PID<0.6169.0> running PinchflatWeb.Endpoint (connection #PID<0.6167.0>, stream id 2) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/54/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/54/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6167.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/54/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 43398}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.6169.0>, params: %{}, path_info: ["sources", "1", "media", "54", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.134"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "216.73.216.134"} ], request_path: "/sources/1/media/54/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHKFAKwm6901hoQAAJBh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6167.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/54/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 43398}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/54/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6167.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/54/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 43398}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.6169.0>, params: %{}, path_info: ["sources", "1", "media", "54", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", rem (truncated) 21:57:24.213 [info] {"source":"oban","duration":3730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:54.217 [info] {"source":"oban","duration":2722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:00.827 [info] {"source":"oban","duration":308,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:58:13.804 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=6XOJ022IxT8 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/32/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/cf/b6/cfb6794d089b0e2ea7717643d514aeb6d9fe8a2e198140422b56b0cce412b527.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] 6XOJ022IxT8: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 6XOJ022IxT8: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 6XOJ022IxT8: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:58:13.805 [debug] QUERY OK db=0.1ms queue=0.1ms idle=1753.7ms begin [] 21:58:13.990 [debug] QUERY OK source="media_items" db=184.0ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 01:56:35Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e19 - Minecraft_-_Part_19_-_Tunnelling_in_the_Dark_Multiplayer_Survival.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e19 - Minecraft_-_Part_19_-_Tunnelling_in_the_Dark_Multiplayer_Survival.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e19 - Minecraft_-_Part_19_-_Tunnelling_in_the_Dark_Multiplayer_Survival.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e19 - Minecraft_-_Part_19_-_Tunnelling_in_the_Dark_Multiplayer_Survival-thumb.jpg", ~U[2025-10-28 01:58:13Z], 32] 21:58:13.994 [debug] QUERY OK source="media_metadata" db=3.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/32/metadata.json.gz", "/config/metadata/media_items/32/thumbnail.jpg", 32, ~U[2025-10-28 01:58:13Z], ~U[2025-10-28 01:58:13Z]] 21:58:14.070 [debug] QUERY OK db=75.4ms commit [] 21:58:14.141 [debug] QUERY OK source="media_items" db=68.8ms idle=750.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [127374471, ~U[2025-10-28 01:58:14Z], 32] 21:58:14.143 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:58:14.188 [info] {"args":{"id":32},"id":111,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":342921783,"event":"job:stop","queue_time":16646163604,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:58:14.241 [info] {"args":{"id":33},"id":112,"meta":{},"system_time":1761616694241211682,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:58:14.245 [debug] QUERY OK source="media_items" db=3.6ms idle=189.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" = ?) [33] 21:58:14.245 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:58:14.249 [debug] QUERY OK source="sources" db=3.0ms 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] 21:58:14.252 [debug] QUERY OK source="media_profiles" db=2.7ms queue=0.1ms idle=107.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:58:14.259 [debug] QUERY OK source="media_items" db=6.4ms idle=64.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 [33] 21:58:14.264 [debug] QUERY OK source="media_metadata" db=2.6ms idle=21.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [33] 21:58:14.268 [debug] QUERY OK source="media_profiles" db=3.0ms 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] 21:58:14.271 [debug] QUERY OK source="settings" db=2.6ms 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 [] 21:58:14.274 [debug] QUERY OK source="settings" db=2.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 [] 21:58:14.276 [debug] Running yt-dlp command for action: get_downloadable_status 21:58:14.280 [debug] QUERY OK source="settings" db=2.6ms idle=18.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:58:14.283 [debug] QUERY OK source="settings" db=3.1ms idle=15.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:58:14.286 [debug] QUERY OK source="settings" db=2.6ms 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 [] 21:58:14.287 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ydmQN4N25Lw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ce/3d/ce3d754b38067d52546c69239fa5744b309e1f36613d0ac91ad03f0d7b09e347.json --sleep-requests 12 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:58:16.879 [info] GET /media/44b0cc4a-172d-4c32-8e04-1c62a449d875/stream 21:58:16.879 [info] GET /sources/1/media/58/force_download 21:58:16.879 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "44b0cc4a-172d-4c32-8e04-1c62a449d875"} Pipelines: [:maybe_basic_auth] 21:58:16.882 [debug] QUERY OK source="settings" db=2.3ms idle=828.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:58:16.883 [debug] QUERY OK source="media_items" db=3.0ms idle=828.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["44b0cc4a-172d-4c32-8e04-1c62a449d875"] 21:58:16.883 [debug] QUERY OK source="settings" db=0.9ms idle=830.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:58:16.883 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:58:16.884 [debug] Invalid range request for media item: 44b0cc4a-172d-4c32-8e04-1c62a449d875 - serving full file 21:58:16.884 [info] Sent 200 in 4ms 21:58:16.884 [error] #PID<0.6180.0> running PinchflatWeb.Endpoint (connection #PID<0.6179.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/58/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/58/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6179.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/58/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46150}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.6180.0>, params: %{}, path_info: ["sources", "1", "media", "58", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.134"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "216.73.216.134"} ], request_path: "/sources/1/media/58/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHKFDWfqt9v6-Y8AAHVi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6179.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/58/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46150}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/58/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6179.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/58/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 46150}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.6180.0>, params: %{}, path_info: ["sources", "1", "media", "58", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", rem (truncated) 21:58:24.222 [info] {"source":"oban","duration":4998,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:54.228 [info] {"source":"oban","duration":4952,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:00.828 [info] {"source":"oban","duration":298,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:59:24.235 [info] {"source":"oban","duration":5256,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:30.284 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ydmQN4N25Lw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ce/3d/ce3d754b38067d52546c69239fa5744b309e1f36613d0ac91ad03f0d7b09e347.json --sleep-requests 12 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] ydmQN4N25Lw: nsig extraction failed: Some formats may be missing n = 3_T3Ja4GldnXT3VW ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] ydmQN4N25Lw: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] ydmQN4N25Lw: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 21:59:30.284 [debug] Running yt-dlp command for action: download 21:59:30.287 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms idle=591.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:59:30.289 [debug] QUERY OK source="settings" db=2.2ms idle=216.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:59:30.292 [debug] QUERY OK source="settings" db=2.1ms idle=219.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:59:30.292 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ydmQN4N25Lw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e20 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e20 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/00/f8/00f8afeb006894f500bb9a45f90913ddafd7ef98544b86edf835c6322bec72a5.json --sleep-requests 15 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:59:35.682 [info] GET /media_profiles/new 21:59:35.682 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 21:59:35.685 [debug] QUERY OK source="settings" db=2.5ms idle=1611.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:59:35.688 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=1614.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:59:35.690 [debug] QUERY OK source="settings" db=1.9ms idle=1617.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:59:35.693 [debug] QUERY OK source="settings" db=2.0ms 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 [] 21:59:35.696 [debug] QUERY OK source="settings" db=1.8ms idle=977.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:59:35.698 [info] Sent 200 in 16ms 21:59:54.239 [info] {"source":"oban","duration":3982,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:00.904 [info] {"source":"oban","duration":75305,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[127]} 22:00:24.246 [info] {"source":"oban","duration":5559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:54.251 [info] {"source":"oban","duration":4511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:00.905 [info] {"source":"oban","duration":333,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:01:24.256 [info] {"source":"oban","duration":4335,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:42.376 [info] GET /media_profiles/2 22:01:42.376 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:01:42.380 [debug] QUERY OK source="media_profiles" db=3.3ms queue=0.1ms idle=303.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:01:42.384 [debug] QUERY OK source="sources" db=3.0ms idle=307.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 22:01:42.387 [debug] QUERY OK source="settings" db=2.7ms idle=310.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:01:42.390 [debug] QUERY OK source="settings" db=2.9ms idle=313.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:01:42.396 [debug] QUERY OK source="settings" db=4.6ms 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 [] 22:01:42.398 [info] Sent 200 in 21ms 22:01:54.260 [info] {"source":"oban","duration":3661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:00.906 [info] {"source":"oban","duration":325,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:02:18.527 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ydmQN4N25Lw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e20 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e20 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/00/f8/00f8afeb006894f500bb9a45f90913ddafd7ef98544b86edf835c6322bec72a5.json --sleep-requests 15 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] ydmQN4N25Lw: nsig extraction failed: Some formats may be missing n = UrrklyoZQDGuZx3O ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] ydmQN4N25Lw: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] ydmQN4N25Lw: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:02:18.606 [debug] Running yt-dlp command for action: download_thumbnail 22:02:18.610 [debug] QUERY OK source="settings" db=2.8ms idle=995.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:02:18.612 [debug] QUERY OK source="settings" db=2.2ms idle=534.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:02:18.615 [debug] QUERY OK source="settings" db=2.0ms idle=537.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:02:18.616 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ydmQN4N25Lw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/33/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ba/92/ba922076fbad4418ace16da0dc1222f41dc353d9b973db56b14d6196ecef416d.json --sleep-requests 12 --sleep-interval 13 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:02:24.263 [info] {"source":"oban","duration":3110,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:54.268 [info] {"source":"oban","duration":3717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:00.907 [info] {"source":"oban","duration":316,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:03:24.272 [info] {"source":"oban","duration":3875,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:38.946 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ydmQN4N25Lw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/33/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ba/92/ba922076fbad4418ace16da0dc1222f41dc353d9b973db56b14d6196ecef416d.json --sleep-requests 12 --sleep-interval 13 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] ydmQN4N25Lw: nsig extraction failed: Some formats may be missing n = _70xOd84_fjAB9W3 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] ydmQN4N25Lw: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] ydmQN4N25Lw: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:03:38.947 [debug] QUERY OK db=0.1ms queue=0.1ms idle=953.1ms begin [] 22:03:38.967 [debug] QUERY OK source="media_items" db=19.3ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 02:02:18Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e20 - Minecraft_-_Part_20_-_Terrible_Switchback_Stairs.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e20 - Minecraft_-_Part_20_-_Terrible_Switchback_Stairs.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e20 - Minecraft_-_Part_20_-_Terrible_Switchback_Stairs.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e20 - Minecraft_-_Part_20_-_Terrible_Switchback_Stairs-thumb.jpg", ~U[2025-10-28 02:03:38Z], 33] 22:03:38.971 [debug] QUERY OK source="media_metadata" db=3.3ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/33/metadata.json.gz", "/config/metadata/media_items/33/thumbnail.jpg", 33, ~U[2025-10-28 02:03:38Z], ~U[2025-10-28 02:03:38Z]] 22:03:39.043 [debug] QUERY OK db=72.0ms commit [] 22:03:39.127 [debug] QUERY OK source="media_items" db=81.7ms idle=969.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [161561633, ~U[2025-10-28 02:03:39Z], 33] 22:03:39.129 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:03:39.169 [info] {"args":{"id":33},"id":112,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":324888117,"event":"job:stop","queue_time":16989193673,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:03:39.254 [info] {"args":{},"id":127,"meta":{"cron":true,"cron_expr":"0 2 * * *","cron_tz":"Etc/UTC"},"system_time":1761617019253896486,"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"]} 22:03:39.268 [debug] QUERY OK source="media_items" db=12.7ms queue=0.4ms idle=211.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "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) ) [] 22:03:39.268 [info] Redownloading 0 media items 22:03:39.315 [info] {"args":{},"id":127,"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":14534,"event":"job:stop","queue_time":219175655,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:03:39.369 [info] {"args":{"id":34},"id":113,"meta":{},"system_time":1761617019369286181,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:03:39.372 [debug] QUERY OK source="media_items" db=3.0ms idle=200.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" = ?) [34] 22:03:39.373 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:03:39.376 [debug] QUERY OK source="sources" db=2.5ms idle=119.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:03:39.378 [debug] QUERY OK source="media_profiles" db=2.3ms idle=108.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:03:39.383 [debug] QUERY OK source="media_items" db=3.9ms idle=63.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 [34] 22:03:39.388 [debug] QUERY OK source="media_metadata" db=2.4ms idle=16.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [34] 22:03:39.390 [debug] QUERY OK source="media_profiles" db=2.3ms idle=15.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:03:39.394 [debug] QUERY OK source="settings" db=2.4ms 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 [] 22:03:39.396 [debug] QUERY OK source="settings" db=2.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 [] 22:03:39.398 [debug] Running yt-dlp command for action: get_downloadable_status 22:03:39.402 [debug] QUERY OK source="settings" db=2.3ms 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 [] 22:03:39.404 [debug] QUERY OK source="settings" db=2.1ms idle=13.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:03:39.407 [debug] QUERY OK source="settings" db=2.3ms idle=13.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:03:39.407 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CcIfbF0ZpSs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e5/50/e550003c361c6de9010664d1d0fdf027c763b6c82744a36e5751c2bb1ca7129a.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:03:54.278 [info] {"source":"oban","duration":5074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:00.908 [info] {"source":"oban","duration":288,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:04:24.283 [info] {"source":"oban","duration":4239,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:28.810 [info] GET /media_profiles/2/edit 22:04:28.811 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:04:28.816 [debug] QUERY OK source="media_profiles" db=4.8ms queue=0.1ms idle=1517.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:04:28.820 [debug] QUERY OK source="settings" db=3.3ms queue=0.1ms idle=741.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:04:28.822 [debug] QUERY OK source="settings" db=2.1ms idle=744.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:04:28.826 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=747.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:04:28.828 [info] Sent 200 in 18ms 22:04:29.126 [info] GET /media_profiles/1/edit 22:04:29.126 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:04:29.130 [debug] QUERY OK source="media_profiles" db=3.3ms idle=829.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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] 22:04:29.133 [debug] QUERY OK source="settings" db=2.4ms idle=314.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:04:29.136 [debug] QUERY OK source="settings" db=2.2ms idle=313.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:04:29.139 [debug] QUERY OK source="settings" db=2.1ms idle=314.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:04:29.141 [info] Sent 200 in 14ms 22:04:54.290 [info] {"source":"oban","duration":5424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:00.909 [info] {"source":"oban","duration":288,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:05:07.683 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CcIfbF0ZpSs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e5/50/e550003c361c6de9010664d1d0fdf027c763b6c82744a36e5751c2bb1ca7129a.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] CcIfbF0ZpSs: nsig extraction failed: Some formats may be missing n = jXdQ15f2iQquSRwg ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] CcIfbF0ZpSs: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] CcIfbF0ZpSs: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:05:07.684 [debug] Running yt-dlp command for action: download 22:05:07.687 [debug] QUERY OK source="settings" db=2.8ms idle=1608.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:05:07.690 [debug] QUERY OK source="settings" db=2.2ms idle=1205.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:05:07.693 [debug] QUERY OK source="settings" db=3.0ms queue=0.1ms idle=614.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:05:07.694 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CcIfbF0ZpSs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e21 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e21 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7b/39/7b39f597cf694c62d3a1a5908f97dab6d482efd33b8fda4fe066f0b4c8077a32.json --sleep-requests 15 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:05:15.162 [info] GET /media_profiles/1 22:05:15.162 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:05:15.165 [debug] QUERY OK source="media_profiles" db=2.6ms idle=643.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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] 22:05:15.170 [debug] QUERY OK source="sources" db=3.9ms idle=90.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 22:05:15.173 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=94.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:05:15.175 [debug] QUERY OK source="settings" db=2.2ms idle=97.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:05:15.178 [debug] QUERY OK source="settings" db=2.6ms idle=100.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:05:15.181 [info] Sent 200 in 18ms 22:05:24.294 [info] {"source":"oban","duration":3397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:54.298 [info] {"source":"oban","duration":4178,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:00.910 [info] {"source":"oban","duration":245,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:06:24.303 [info] {"source":"oban","duration":3320,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:54.308 [info] {"source":"oban","duration":5206,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:00.911 [info] {"source":"oban","duration":460,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:07:24.312 [info] {"source":"oban","duration":2782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:54.317 [info] {"source":"oban","duration":3735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:00.912 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:08:04.093 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CcIfbF0ZpSs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e21 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e21 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7b/39/7b39f597cf694c62d3a1a5908f97dab6d482efd33b8fda4fe066f0b4c8077a32.json --sleep-requests 15 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] CcIfbF0ZpSs: nsig extraction failed: Some formats may be missing n = QGmqKsqsGeQsys0J ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] CcIfbF0ZpSs: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] CcIfbF0ZpSs: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:08:04.188 [debug] Running yt-dlp command for action: download_thumbnail 22:08:04.194 [debug] QUERY OK source="settings" db=2.7ms idle=855.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:08:04.196 [debug] QUERY OK source="settings" db=2.4ms idle=116.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:08:04.199 [debug] QUERY OK source="settings" db=2.4ms idle=119.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:08:04.200 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CcIfbF0ZpSs --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/34/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/bf/f4/bff43ef22f8c4d7383f2978711e1f95d0813854af28bafc57dda4521dafa3d73.json --sleep-requests 13 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:08:24.322 [info] {"source":"oban","duration":3547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:54.326 [info] {"source":"oban","duration":3528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:00.913 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:09:24.330 [info] {"source":"oban","duration":3672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:29.416 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CcIfbF0ZpSs --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/34/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/bf/f4/bff43ef22f8c4d7383f2978711e1f95d0813854af28bafc57dda4521dafa3d73.json --sleep-requests 13 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] CcIfbF0ZpSs: nsig extraction failed: Some formats may be missing n = 09Re-ZCeHL0HWo_0 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] CcIfbF0ZpSs: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] CcIfbF0ZpSs: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:09:29.417 [debug] QUERY OK db=0.1ms idle=1339.6ms begin [] 22:09:29.445 [debug] QUERY OK source="media_items" db=27.9ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 02:08:04Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e21 - Minecraft_-_Part_21_-_Ceiling_Construction_Interrupted.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e21 - Minecraft_-_Part_21_-_Ceiling_Construction_Interrupted.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e21 - Minecraft_-_Part_21_-_Ceiling_Construction_Interrupted.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e21 - Minecraft_-_Part_21_-_Ceiling_Construction_Interrupted-thumb.jpg", ~U[2025-10-28 02:09:29Z], 34] 22:09:29.450 [debug] QUERY OK source="media_metadata" db=4.0ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/34/metadata.json.gz", "/config/metadata/media_items/34/thumbnail.jpg", 34, ~U[2025-10-28 02:09:29Z], ~U[2025-10-28 02:09:29Z]] 22:09:29.511 [debug] QUERY OK db=60.5ms commit [] 22:09:29.586 [debug] QUERY OK source="media_items" db=72.5ms idle=1436.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [163234875, ~U[2025-10-28 02:09:29Z], 34] 22:09:29.588 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:09:29.628 [info] {"args":{"id":34},"id":113,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":350219060,"event":"job:stop","queue_time":17314321673,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:09:29.685 [info] {"args":{"id":35},"id":114,"meta":{},"system_time":1761617369685119817,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:09:29.688 [debug] QUERY OK source="media_items" db=2.9ms idle=943.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" = ?) [35] 22:09:29.689 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:09:29.692 [debug] QUERY OK source="sources" db=2.4ms queue=0.1ms idle=178.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:09:29.694 [debug] QUERY OK source="media_profiles" db=2.4ms idle=105.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:09:29.698 [debug] QUERY OK source="media_items" db=3.6ms idle=66.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 [35] 22:09:29.709 [debug] QUERY OK source="media_metadata" db=2.7ms idle=21.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [35] 22:09:29.712 [debug] QUERY OK source="media_profiles" db=2.8ms 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] 22:09:29.715 [debug] QUERY OK source="settings" db=2.3ms 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 [] 22:09:29.718 [debug] QUERY OK source="settings" db=2.3ms idle=21.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:09:29.720 [debug] Running yt-dlp command for action: get_downloadable_status 22:09:29.724 [debug] QUERY OK source="settings" db=2.4ms 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 [] 22:09:29.727 [debug] QUERY OK source="settings" db=2.6ms 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 [] 22:09:29.729 [debug] QUERY OK source="settings" db=2.5ms 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 [] 22:09:29.730 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EOSA5aoQzGM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dd/97/dd97406dd171b8eda74d2ea7d901395266714b1bf77a4fc5ec2f5b306b6cf9b2.json --sleep-requests 12 --sleep-interval 14 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:09:54.335 [info] {"source":"oban","duration":5040,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:00.914 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:10:24.342 [info] {"source":"oban","duration":6127,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:33.464 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EOSA5aoQzGM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dd/97/dd97406dd171b8eda74d2ea7d901395266714b1bf77a4fc5ec2f5b306b6cf9b2.json --sleep-requests 12 --sleep-interval 14 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] EOSA5aoQzGM: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] EOSA5aoQzGM: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] EOSA5aoQzGM: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:10:33.465 [debug] Running yt-dlp command for action: download 22:10:33.468 [debug] QUERY OK source="settings" db=2.6ms idle=1387.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:10:33.473 [debug] QUERY OK source="settings" db=4.9ms idle=1390.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:10:33.476 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=1395.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:10:33.477 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EOSA5aoQzGM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e22 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e22 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c5/fd/c5fd043c040defca37f22dfed714e3659c29bc94e0e64bfccf40892669a26020.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:10:54.347 [info] {"source":"oban","duration":3445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:00.915 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:11:24.352 [info] {"source":"oban","duration":5064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:54.357 [info] {"source":"oban","duration":3488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:00.916 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:12:24.361 [info] {"source":"oban","duration":3892,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:47.713 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EOSA5aoQzGM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e22 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e22 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c5/fd/c5fd043c040defca37f22dfed714e3659c29bc94e0e64bfccf40892669a26020.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] EOSA5aoQzGM: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] EOSA5aoQzGM: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] EOSA5aoQzGM: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:12:47.840 [debug] Running yt-dlp command for action: download_thumbnail 22:12:47.845 [debug] QUERY OK source="settings" db=2.2ms idle=1764.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:12:47.847 [debug] QUERY OK source="settings" db=1.9ms idle=1766.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:12:47.849 [debug] QUERY OK source="settings" db=2.1ms idle=1768.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:12:47.850 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EOSA5aoQzGM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/35/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/16/78/167865431e65c03c054d58456855017f1bcd20976f4f4d46aae4e37488a0ce56.json --sleep-requests 11 --sleep-interval 12 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:12:54.368 [info] {"source":"oban","duration":5281,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:13:00.917 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:13:24.372 [info] {"source":"oban","duration":3521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:13:54.376 [info] {"source":"oban","duration":3575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:00.918 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:14:01.993 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=EOSA5aoQzGM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/35/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/16/78/167865431e65c03c054d58456855017f1bcd20976f4f4d46aae4e37488a0ce56.json --sleep-requests 11 --sleep-interval 12 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] EOSA5aoQzGM: nsig extraction failed: Some formats may be missing n = tFi46JJZj5Ng8ILF ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] EOSA5aoQzGM: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] EOSA5aoQzGM: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:14:01.993 [debug] QUERY OK db=0.0ms idle=1912.0ms begin [] 22:14:02.023 [debug] QUERY OK source="media_items" db=28.9ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 02:12:47Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e22 - Minecraft_-_Part_22_-_Old_Peculier.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e22 - Minecraft_-_Part_22_-_Old_Peculier.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e22 - Minecraft_-_Part_22_-_Old_Peculier.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e22 - Minecraft_-_Part_22_-_Old_Peculier-thumb.jpg", ~U[2025-10-28 02:14:01Z], 35] 22:14:02.027 [debug] QUERY OK source="media_metadata" db=3.9ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/35/metadata.json.gz", "/config/metadata/media_items/35/thumbnail.jpg", 35, ~U[2025-10-28 02:14:02Z], ~U[2025-10-28 02:14:02Z]] 22:14:02.096 [debug] QUERY OK db=69.0ms commit [] 22:14:04.097 [debug] QUERY OK source="media_items" db=1998.0ms idle=997.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [112726115, ~U[2025-10-28 02:14:02Z], 35] 22:14:04.098 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:14:04.139 [info] {"args":{"id":35},"id":114,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":274413669,"event":"job:stop","queue_time":17664634606,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:14:04.182 [info] {"args":{"id":36},"id":115,"meta":{},"system_time":1761617644181832305,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:14:04.185 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=2085.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [36] 22:14:04.185 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:14:04.190 [debug] QUERY OK source="sources" db=3.6ms queue=0.1ms idle=189.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:14:04.195 [debug] QUERY OK source="media_profiles" db=5.1ms queue=0.1ms idle=93.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:14:04.200 [debug] QUERY OK source="media_items" db=4.3ms queue=0.1ms idle=57.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 [36] 22:14:04.211 [debug] QUERY OK source="media_metadata" db=2.2ms idle=27.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [36] 22:14:04.214 [debug] QUERY OK source="media_profiles" db=2.6ms idle=25.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:14:04.217 [debug] QUERY OK source="settings" db=2.5ms idle=24.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:14:04.220 [debug] QUERY OK source="settings" db=2.8ms 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 [] 22:14:04.223 [debug] Running yt-dlp command for action: get_downloadable_status 22:14:04.231 [debug] QUERY OK source="settings" db=4.6ms 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 [] 22:14:04.234 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms 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 [] 22:14:04.237 [debug] QUERY OK source="settings" db=2.5ms 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 [] 22:14:04.238 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=I__qd7fBK_c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/57/94/5794c2eac562e375717f5889725658807fa530647240b263d56fb47539541983.json --sleep-requests 15 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:14:24.381 [info] {"source":"oban","duration":4898,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:54.388 [info] {"source":"oban","duration":5564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:00.919 [info] {"source":"oban","duration":310,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:15:24.391 [info] {"source":"oban","duration":2911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:39.152 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=I__qd7fBK_c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/57/94/5794c2eac562e375717f5889725658807fa530647240b263d56fb47539541983.json --sleep-requests 15 --sleep-interval 14 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] I__qd7fBK_c: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] I__qd7fBK_c: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] I__qd7fBK_c: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:15:39.152 [debug] Running yt-dlp command for action: download 22:15:39.155 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=1055.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:15:39.158 [debug] QUERY OK source="settings" db=2.1ms idle=1058.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:15:39.160 [debug] QUERY OK source="settings" db=2.2ms idle=1061.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:15:39.161 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=I__qd7fBK_c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e23 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e23 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/28/b2/28b284db02d9cc9fbec0f4fb029fc81dd14ca20950eab38290c69f050077c450.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:15:54.396 [info] {"source":"oban","duration":4119,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:00.920 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:16:24.402 [info] {"source":"oban","duration":4999,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:54.407 [info] {"source":"oban","duration":4121,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:00.921 [info] {"source":"oban","duration":331,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:17:16.307 [info] GET / 22:17:16.307 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:17:16.313 [debug] QUERY OK source="settings" db=5.4ms idle=366.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:16.317 [debug] QUERY OK source="media_profiles" db=2.9ms idle=217.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:17:16.319 [debug] QUERY OK source="sources" db=2.2ms idle=220.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:17:16.389 [debug] QUERY OK source="media_items" db=69.7ms idle=222.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:17:16.395 [debug] QUERY OK source="media_items" db=5.0ms idle=292.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:17:16.406 [debug] QUERY OK source="settings" db=10.6ms queue=0.1ms idle=82.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:16.409 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms 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 [] 22:17:16.412 [debug] QUERY OK source="settings" db=2.7ms idle=90.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:16.418 [debug] QUERY OK source="tasks" db=4.3ms idle=24.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"] 22:17:16.421 [debug] QUERY OK source="media_items" db=3.1ms idle=23.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [36] 22:17:16.428 [debug] QUERY OK source="media_items" db=5.3ms idle=17.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)) [] 22:17:16.434 [debug] QUERY OK source="media_items" db=5.4ms idle=20.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] 22:17:16.442 [debug] QUERY OK source="sources" db=6.9ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:17:16.448 [debug] QUERY OK source="media_items" db=2.6ms idle=27.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"))) [] 22:17:16.464 [debug] QUERY OK source="media_items" db=15.8ms queue=0.1ms idle=26.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] 22:17:16.468 [debug] QUERY OK source="sources" db=2.8ms 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" IN (?,?)) [1, 2] 22:17:16.471 [info] Sent 200 in 164ms 22:17:16.972 [info] GET /wordpress/ 22:17:16.975 [debug] QUERY OK source="settings" db=2.7ms idle=530.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:16.978 [debug] QUERY OK source="settings" db=2.4ms idle=527.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:16.978 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:16.979 [error] #PID<0.6297.0> running PinchflatWeb.Endpoint (connection #PID<0.6295.0>, stream id 2) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /wordpress/ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wordpress (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6295.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wordpress/", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 39046}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "referer" => "http://pinchflat.home.johnhollowell.com/wordpress/", "user-agent" => "Mozilla/5.0 (Linux; Android 5.1.1; SM-J111F)", "x-forwarded-for" => "34.142.147.176", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "34.142.147.176" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.6297.0>, params: %{}, path_info: ["wordpress"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"referer", "http://pinchflat.home.johnhollowell.com/wordpress/"}, {"user-agent", "Mozilla/5.0 (Linux; Android 5.1.1; SM-J111F)"}, {"x-forwarded-for", "34.142.147.176"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "34.142.147.176"} ], request_path: "/wordpress/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHKGFtq9klTfnQEAAJZh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6295.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wordpress/", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 39046}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "referer" => "http://pinchflat.home.johnhollowell.com/wordpress/", "user-agent" => "Mozilla/5.0 (Linux; Android 5.1.1; SM-J111F)", "x-forwarded-for" => "34.142.147.176", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "34.142.147.176" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wordpress (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6295.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wordpress/", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 39046}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "referer" => "http://pinchflat.home.johnhollowell.com/wordpress/", "user-agent" => "Mozilla/5.0 (Linux; Android 5.1.1; SM-J111F)", "x-forwarded-for" => "34.142.147.176", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "34.142.147.176" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.6297.0>, params: %{}, path_info: ["wordpress"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in 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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"referer", "http://pinchflat.home.johnhollowell.com/wordpress/"}, {"user-agent", "Mozilla/5.0 (Linux; Android 5.1.1; SM-J111F)"}, {"x-forwarded-for", (truncated) 22:17:24.412 [info] {"source":"oban","duration":3279,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:54.417 [info] {"source":"oban","duration":4674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:00.922 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:18:17.213 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=I__qd7fBK_c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e23 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e23 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/28/b2/28b284db02d9cc9fbec0f4fb029fc81dd14ca20950eab38290c69f050077c450.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] I__qd7fBK_c: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] I__qd7fBK_c: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] I__qd7fBK_c: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:18:17.302 [debug] Running yt-dlp command for action: download_thumbnail 22:18:17.312 [debug] QUERY OK source="settings" db=2.7ms idle=1213.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:18:17.315 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=1216.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:18:17.318 [debug] QUERY OK source="settings" db=2.1ms idle=1219.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:18:17.318 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=I__qd7fBK_c --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/36/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/77/67/7767b07e1444ad0abef27135ae3457a55c9f8a650d9eb55b0282e1316116f98e.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:18:24.420 [info] {"source":"oban","duration":2685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:54.424 [info] {"source":"oban","duration":4195,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:19:00.923 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:19:24.429 [info] {"source":"oban","duration":4092,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:19:32.569 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=I__qd7fBK_c --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/36/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/77/67/7767b07e1444ad0abef27135ae3457a55c9f8a650d9eb55b0282e1316116f98e.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] I__qd7fBK_c: Signature extraction failed: Some formats may be missing player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] I__qd7fBK_c: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] I__qd7fBK_c: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:19:32.570 [debug] QUERY OK db=0.3ms idle=816.8ms begin [] 22:19:32.608 [debug] QUERY OK source="media_items" db=37.9ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 02:18:17Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e23 - Minecraft_-_Part_23_-_The_House_on_the_Hill.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e23 - Minecraft_-_Part_23_-_The_House_on_the_Hill.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e23 - Minecraft_-_Part_23_-_The_House_on_the_Hill.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e23 - Minecraft_-_Part_23_-_The_House_on_the_Hill-thumb.jpg", ~U[2025-10-28 02:19:32Z], 36] 22:19:32.612 [debug] QUERY OK source="media_metadata" db=3.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/36/metadata.json.gz", "/config/metadata/media_items/36/thumbnail.jpg", 36, ~U[2025-10-28 02:19:32Z], ~U[2025-10-28 02:19:32Z]] 22:19:32.698 [debug] QUERY OK db=85.2ms commit [] 22:19:32.772 [debug] QUERY OK source="media_items" db=71.9ms idle=603.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [141493593, ~U[2025-10-28 02:19:32Z], 36] 22:19:32.774 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:19:32.823 [info] {"args":{"id":36},"id":115,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":328592290,"event":"job:stop","queue_time":17939144667,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:19:32.884 [info] {"args":{"id":37},"id":116,"meta":{},"system_time":1761617972884258340,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:19:32.888 [debug] QUERY OK source="media_items" db=3.1ms idle=186.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [37] 22:19:32.888 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:19:32.891 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=116.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:19:32.894 [debug] QUERY OK source="media_profiles" db=2.7ms idle=115.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:19:32.898 [debug] QUERY OK source="media_items" db=3.5ms idle=72.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 [37] 22:19:32.902 [debug] QUERY OK source="media_metadata" db=2.3ms idle=15.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [37] 22:19:32.905 [debug] QUERY OK source="media_profiles" db=2.7ms idle=14.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:19:32.908 [debug] QUERY OK source="settings" db=2.8ms 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 [] 22:19:32.911 [debug] QUERY OK source="settings" db=2.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 [] 22:19:32.913 [debug] Running yt-dlp command for action: get_downloadable_status 22:19:32.916 [debug] QUERY OK source="settings" db=2.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 [] 22:19:32.919 [debug] QUERY OK source="settings" db=2.5ms idle=14.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:19:32.922 [debug] QUERY OK source="settings" db=2.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 [] 22:19:32.922 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=exi05W1LWek --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/de/70/de7090df580ab96c8924a327eb99e0a156a69cd7fdfef4bd39b4c02ba62068a4.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:19:54.435 [info] {"source":"oban","duration":4801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:00.924 [info] {"source":"oban","duration":296,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:20:24.441 [info] {"source":"oban","duration":4883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:31.337 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=exi05W1LWek --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/de/70/de7090df580ab96c8924a327eb99e0a156a69cd7fdfef4bd39b4c02ba62068a4.json --sleep-requests 11 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] exi05W1LWek: Some tv client https formats have been skipped as they are missing a url. YouTube may have enabled the SABR-only or Server-Side Ad Placement experiment for the current session. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] exi05W1LWek: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] exi05W1LWek: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:20:31.337 [debug] Running yt-dlp command for action: download 22:20:31.340 [debug] QUERY OK source="settings" db=2.4ms idle=1241.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:20:31.343 [debug] QUERY OK source="settings" db=2.3ms idle=1243.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:20:31.345 [debug] QUERY OK source="settings" db=1.9ms idle=1246.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:20:31.345 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=exi05W1LWek --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e24 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e24 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/54/18/541806a69e8d2f496b90377a59929a106f551f9ababcaccecb8dc05984a5af07.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:20:54.446 [info] {"source":"oban","duration":3682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:00.925 [info] {"source":"oban","duration":285,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:21:24.450 [info] {"source":"oban","duration":3737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:54.457 [info] {"source":"oban","duration":5289,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:00.926 [info] {"source":"oban","duration":261,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:22:24.463 [info] {"source":"oban","duration":5374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:54.467 [info] {"source":"oban","duration":3283,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:00.927 [info] {"source":"oban","duration":269,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:23:20.201 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=exi05W1LWek --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e24 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e24 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/54/18/541806a69e8d2f496b90377a59929a106f551f9ababcaccecb8dc05984a5af07.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] exi05W1LWek: nsig extraction failed: Some formats may be missing n = r4v17rUR_xoweZlC ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] exi05W1LWek: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] exi05W1LWek: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:23:20.266 [debug] Running yt-dlp command for action: download_thumbnail 22:23:20.270 [debug] QUERY OK source="settings" db=2.5ms idle=171.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:20.273 [debug] QUERY OK source="settings" db=2.2ms queue=0.2ms idle=174.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:20.276 [debug] QUERY OK source="settings" db=1.9ms idle=177.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:20.276 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=exi05W1LWek --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/37/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/b2/20/b220af2fc9778ad1dcf3736886fc83b886b562eb06519b841acc921c60ad4e51.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:23:24.470 [info] {"source":"oban","duration":3136,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:54.475 [info] {"source":"oban","duration":3647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:24:00.928 [info] {"source":"oban","duration":297,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:24:24.479 [info] {"source":"oban","duration":3646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:24:40.124 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=exi05W1LWek --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/37/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/b2/20/b220af2fc9778ad1dcf3736886fc83b886b562eb06519b841acc921c60ad4e51.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] exi05W1LWek: nsig extraction failed: Some formats may be missing n = ll6W_525ahvfS_md ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] exi05W1LWek: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] exi05W1LWek: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:24:40.125 [debug] QUERY OK db=0.1ms queue=0.1ms idle=584.4ms begin [] 22:24:40.154 [debug] QUERY OK source="media_items" db=27.9ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 02:23:20Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e24 - Minecraft_-_Part_24_-_Troubling_Events_in_Terrorvale.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e24 - Minecraft_-_Part_24_-_Troubling_Events_in_Terrorvale.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e24 - Minecraft_-_Part_24_-_Troubling_Events_in_Terrorvale.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e24 - Minecraft_-_Part_24_-_Troubling_Events_in_Terrorvale-thumb.jpg", ~U[2025-10-28 02:24:40Z], 37] 22:24:40.158 [debug] QUERY OK source="media_metadata" db=3.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/37/metadata.json.gz", "/config/metadata/media_items/37/thumbnail.jpg", 37, ~U[2025-10-28 02:24:40Z], ~U[2025-10-28 02:24:40Z]] 22:24:40.664 [debug] QUERY OK db=505.3ms commit [] 22:24:40.776 [debug] QUERY OK source="media_items" db=107.1ms idle=572.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [150280727, ~U[2025-10-28 02:24:40Z], 37] 22:24:40.777 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:24:40.827 [info] {"args":{"id":37},"id":116,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":307893799,"event":"job:stop","queue_time":18267828621,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:24:40.882 [info] {"args":{"id":38},"id":117,"meta":{},"system_time":1761618280882621548,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:24:40.886 [debug] QUERY OK source="media_items" db=3.0ms idle=219.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" = ?) [38] 22:24:40.886 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:24:40.889 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=213.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:24:40.893 [debug] QUERY OK source="media_profiles" db=2.9ms idle=114.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:24:40.897 [debug] QUERY OK source="media_items" db=3.6ms idle=66.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] 22:24:40.900 [debug] QUERY OK source="media_metadata" db=2.3ms idle=15.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [38] 22:24:40.903 [debug] QUERY OK source="media_profiles" db=2.3ms idle=14.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:24:40.906 [debug] QUERY OK source="settings" db=2.2ms idle=13.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:24:40.908 [debug] QUERY OK source="settings" db=2.1ms 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 [] 22:24:40.910 [debug] Running yt-dlp command for action: get_downloadable_status 22:24:40.913 [debug] QUERY OK source="settings" db=2.6ms 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 [] 22:24:40.916 [debug] QUERY OK source="settings" db=2.6ms 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 [] 22:24:40.919 [debug] QUERY OK source="settings" db=2.2ms 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 [] 22:24:40.919 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JuKFsaXhqRM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/62/8c/628c9b380c4ccfad8d3b09eea9270e516b749a62f85787873e49799aa468b913.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:24:54.484 [info] {"source":"oban","duration":5113,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:00.929 [info] {"source":"oban","duration":338,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:25:24.491 [info] {"source":"oban","duration":5324,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:54.496 [info] {"source":"oban","duration":4677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:00.930 [info] {"source":"oban","duration":305,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:26:14.797 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JuKFsaXhqRM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/62/8c/628c9b380c4ccfad8d3b09eea9270e516b749a62f85787873e49799aa468b913.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] JuKFsaXhqRM: nsig extraction failed: Some formats may be missing n = vX0VdDEBqtVfopNH ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] JuKFsaXhqRM: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] JuKFsaXhqRM: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:26:14.798 [debug] Running yt-dlp command for action: download 22:26:14.800 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=701.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:26:14.803 [debug] QUERY OK source="settings" db=2.0ms idle=704.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:26:14.805 [debug] QUERY OK source="settings" db=2.0ms idle=706.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:26:14.806 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JuKFsaXhqRM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e25 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e25 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e2/66/e2666c4d5835dfe58e009bf9d6f1412d08f5a2633f9a31a87f8fd3b689ff8021.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:26:24.500 [info] {"source":"oban","duration":4011,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:54.506 [info] {"source":"oban","duration":4295,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:00.931 [info] {"source":"oban","duration":295,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:27:24.510 [info] {"source":"oban","duration":3508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:54.514 [info] {"source":"oban","duration":3730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:00.932 [info] {"source":"oban","duration":320,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:28:24.518 [info] {"source":"oban","duration":3188,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:54.525 [info] {"source":"oban","duration":5424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:00.933 [info] {"source":"oban","duration":284,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:29:01.306 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JuKFsaXhqRM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e25 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e25 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e2/66/e2666c4d5835dfe58e009bf9d6f1412d08f5a2633f9a31a87f8fd3b689ff8021.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] JuKFsaXhqRM: nsig extraction failed: Some formats may be missing n = PtwE3VR8A-tGIJfD ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] JuKFsaXhqRM: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] JuKFsaXhqRM: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:29:01.620 [debug] Running yt-dlp command for action: download_thumbnail 22:29:01.623 [debug] QUERY OK source="settings" db=2.3ms idle=1523.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:01.626 [debug] QUERY OK source="settings" db=2.0ms idle=1526.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:01.628 [debug] QUERY OK source="settings" db=2.0ms 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 [] 22:29:01.628 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JuKFsaXhqRM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/38/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/52/0d/520d3440266206d0f5283593030242277fd63122865fc1bdc2b44a4d310e5dd0.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:29:24.529 [info] {"source":"oban","duration":3554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:54.533 [info] {"source":"oban","duration":3326,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:00.934 [info] {"source":"oban","duration":290,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:30:24.536 [info] {"source":"oban","duration":3229,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:38.537 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=JuKFsaXhqRM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/38/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/52/0d/520d3440266206d0f5283593030242277fd63122865fc1bdc2b44a4d310e5dd0.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] JuKFsaXhqRM: nsig extraction failed: Some formats may be missing n = M8KOhlG7cgG3JAz9 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] JuKFsaXhqRM: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] JuKFsaXhqRM: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:30:38.538 [debug] QUERY OK db=0.1ms idle=438.7ms begin [] 22:30:38.619 [debug] QUERY OK source="media_items" db=80.4ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 02:29:01Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e25 - Minecraft_-_Part_25_-_A_Sinister_Discovery.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e25 - Minecraft_-_Part_25_-_A_Sinister_Discovery.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e25 - Minecraft_-_Part_25_-_A_Sinister_Discovery.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e25 - Minecraft_-_Part_25_-_A_Sinister_Discovery-thumb.jpg", ~U[2025-10-28 02:30:38Z], 38] 22:30:38.624 [debug] QUERY OK source="media_metadata" db=3.9ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/38/metadata.json.gz", "/config/metadata/media_items/38/thumbnail.jpg", 38, ~U[2025-10-28 02:30:38Z], ~U[2025-10-28 02:30:38Z]] 22:30:39.108 [debug] QUERY OK db=483.8ms commit [] 22:30:39.253 [debug] QUERY OK source="media_items" db=143.2ms idle=1010.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [128328128, ~U[2025-10-28 02:30:39Z], 38] 22:30:39.255 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:30:39.315 [info] {"args":{"id":38},"id":117,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":358373105,"event":"job:stop","queue_time":18575832628,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:30:39.378 [info] {"args":{"id":39},"id":118,"meta":{},"system_time":1761618639377888580,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:30:39.381 [debug] QUERY OK source="media_items" db=2.9ms idle=937.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" = ?) [39] 22:30:39.381 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:30:39.384 [debug] QUERY OK source="sources" db=2.6ms idle=274.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:30:39.388 [debug] QUERY OK source="media_profiles" db=3.4ms idle=131.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:30:39.393 [debug] QUERY OK source="media_items" db=3.8ms idle=73.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 [39] 22:30:39.397 [debug] QUERY OK source="media_metadata" db=2.8ms idle=17.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [39] 22:30:39.400 [debug] QUERY OK source="media_profiles" db=2.9ms 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] 22:30:39.404 [debug] QUERY OK source="settings" db=2.7ms 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 [] 22:30:39.407 [debug] QUERY OK source="settings" db=2.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 [] 22:30:39.409 [debug] Running yt-dlp command for action: get_downloadable_status 22:30:39.419 [debug] QUERY OK source="settings" db=2.4ms 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 [] 22:30:39.421 [debug] QUERY OK source="settings" db=2.3ms 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 [] 22:30:39.424 [debug] QUERY OK source="settings" db=2.3ms 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 [] 22:30:39.424 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4522OA2MMFY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/41/b2/41b2c3f96f6d5c99687a58fd0af3c18c23ba6e9f03e3287f7491f4642ff35129.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:30:54.542 [info] {"source":"oban","duration":4559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:00.935 [info] {"source":"oban","duration":269,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:31:24.547 [info] {"source":"oban","duration":5085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:54.553 [info] {"source":"oban","duration":4666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:00.936 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:32:01.723 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4522OA2MMFY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/41/b2/41b2c3f96f6d5c99687a58fd0af3c18c23ba6e9f03e3287f7491f4642ff35129.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 4522OA2MMFY: nsig extraction failed: Some formats may be missing n = 7FMjWjFv23s65flv ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 4522OA2MMFY: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 4522OA2MMFY: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:32:01.724 [debug] Running yt-dlp command for action: download 22:32:01.727 [debug] QUERY OK source="settings" db=2.5ms idle=1624.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:32:01.729 [debug] QUERY OK source="settings" db=2.1ms idle=1627.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:32:01.731 [debug] QUERY OK source="settings" db=1.9ms idle=1630.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:32:01.732 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4522OA2MMFY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e26 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e26 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/25/ff/25ff4e0b3345cfa97f338a95b0f370cc7b9d12ab77dd389bd396eeb49047f03f.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:32:24.558 [info] {"source":"oban","duration":5060,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:52.563 [info] GET / 22:32:52.563 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:32:52.566 [debug] QUERY OK source="settings" db=2.4ms idle=1464.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:32:52.569 [debug] QUERY OK source="media_profiles" db=2.6ms idle=1467.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:32:52.572 [debug] QUERY OK source="sources" db=2.2ms idle=479.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:32:52.602 [debug] QUERY OK source="media_items" db=29.7ms idle=472.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:32:52.606 [debug] QUERY OK source="media_items" db=3.9ms idle=502.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:32:52.610 [debug] QUERY OK source="settings" db=3.0ms idle=40.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:32:52.613 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=40.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:32:52.616 [debug] QUERY OK source="settings" db=2.4ms 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 [] 22:32:52.621 [debug] QUERY OK source="tasks" db=3.9ms idle=15.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"] 22:32:52.624 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=15.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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [39] 22:32:52.630 [debug] QUERY OK source="media_items" db=4.4ms idle=16.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)) [] 22:32:52.635 [debug] QUERY OK source="media_items" db=4.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] 22:32:52.638 [debug] QUERY OK source="sources" db=2.2ms queue=0.1ms idle=19.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:32:52.643 [debug] QUERY OK source="media_items" db=2.9ms idle=18.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"))) [] 22:32:52.655 [debug] QUERY OK source="media_items" db=11.8ms idle=18.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] 22:32:52.659 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=26.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [1, 2] 22:32:52.662 [info] Sent 200 in 98ms 22:32:54.564 [info] {"source":"oban","duration":4343,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:33:00.937 [info] {"source":"oban","duration":329,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:33:24.569 [info] {"source":"oban","duration":4672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:33:54.574 [info] {"source":"oban","duration":4477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:00.938 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:34:24.578 [info] {"source":"oban","duration":3824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:39.074 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4522OA2MMFY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e26 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e26 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/25/ff/25ff4e0b3345cfa97f338a95b0f370cc7b9d12ab77dd389bd396eeb49047f03f.json --sleep-requests 15 --sleep-interval 12 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 4522OA2MMFY: nsig extraction failed: Some formats may be missing n = XCeLrcB2ZNrL4HMR ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 4522OA2MMFY: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 4522OA2MMFY: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:34:39.166 [debug] Running yt-dlp command for action: download_thumbnail 22:34:39.177 [debug] QUERY OK source="settings" db=3.0ms idle=1072.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:34:39.179 [debug] QUERY OK source="settings" db=2.3ms idle=1075.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:34:39.186 [debug] QUERY OK source="settings" db=6.8ms idle=1078.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:34:39.187 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4522OA2MMFY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/39/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/03/4e/034e0bf042289e7d799aff69db1b34a9187938d533b245ad6db46394489c06c5.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:34:54.583 [info] {"source":"oban","duration":3892,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:00.939 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:35:24.588 [info] {"source":"oban","duration":3957,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:53.412 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4522OA2MMFY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/39/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/03/4e/034e0bf042289e7d799aff69db1b34a9187938d533b245ad6db46394489c06c5.json --sleep-requests 11 --sleep-interval 11 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 4522OA2MMFY: nsig extraction failed: Some formats may be missing n = im3HCI0QhFInJkAq ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 4522OA2MMFY: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 4522OA2MMFY: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:35:53.414 [debug] QUERY OK db=0.2ms idle=1312.1ms begin [] 22:35:53.430 [debug] QUERY OK source="media_items" db=15.2ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 02:34:39Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e26 - Minecraft_-_Part_26_-_The_Tomb.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e26 - Minecraft_-_Part_26_-_The_Tomb.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e26 - Minecraft_-_Part_26_-_The_Tomb.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e26 - Minecraft_-_Part_26_-_The_Tomb-thumb.jpg", ~U[2025-10-28 02:35:53Z], 39] 22:35:53.434 [debug] QUERY OK source="media_metadata" db=3.6ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/39/metadata.json.gz", "/config/metadata/media_items/39/thumbnail.jpg", 39, ~U[2025-10-28 02:35:53Z], ~U[2025-10-28 02:35:53Z]] 22:35:53.519 [debug] QUERY OK db=85.1ms commit [] 22:35:53.603 [debug] QUERY OK source="media_items" db=81.6ms idle=1420.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [97897631, ~U[2025-10-28 02:35:53Z], 39] 22:35:53.605 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:35:53.670 [info] {"args":{"id":39},"id":118,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":314227580,"event":"job:stop","queue_time":18934321638,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:35:53.747 [info] {"args":{"id":188},"id":120,"meta":{},"system_time":1761618953747458583,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:35:53.751 [debug] QUERY OK source="media_items" db=3.0ms idle=757.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" = ?) [188] 22:35:53.751 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:35:53.754 [debug] QUERY OK source="sources" db=2.4ms queue=0.2ms idle=232.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:35:53.758 [debug] QUERY OK source="media_profiles" db=3.1ms queue=0.1ms idle=151.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:35:53.763 [debug] QUERY OK source="media_items" db=4.1ms idle=88.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 [188] 22:35:53.767 [debug] QUERY OK source="media_metadata" db=2.2ms idle=17.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [188] 22:35:53.769 [debug] QUERY OK source="media_profiles" db=2.5ms idle=16.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:35:53.773 [debug] QUERY OK source="settings" db=2.6ms 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 [] 22:35:53.776 [debug] QUERY OK source="settings" db=2.8ms 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 [] 22:35:53.778 [debug] Running yt-dlp command for action: get_downloadable_status 22:35:53.781 [debug] QUERY OK source="settings" db=2.2ms 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 [] 22:35:53.784 [debug] QUERY OK source="settings" db=2.7ms 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 [] 22:35:53.787 [debug] QUERY OK source="settings" db=2.3ms 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 [] 22:35:53.788 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=uv06bzr7Y3U --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/88/ff/88ff6004eaec25eb8ef1b80f20a5e842cc785f098a40489963f6a330af4e0d62.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:35:54.595 [info] {"source":"oban","duration":5395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:00.940 [info] {"source":"oban","duration":326,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:36:24.599 [info] {"source":"oban","duration":3651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:54.603 [info] {"source":"oban","duration":4216,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:00.941 [info] {"source":"oban","duration":264,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:37:15.834 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=uv06bzr7Y3U --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/88/ff/88ff6004eaec25eb8ef1b80f20a5e842cc785f098a40489963f6a330af4e0d62.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] uv06bzr7Y3U: nsig extraction failed: Some formats may be missing n = Xk79SpeqK9e7ik2u ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] uv06bzr7Y3U: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] uv06bzr7Y3U: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:37:15.835 [debug] Running yt-dlp command for action: download 22:37:15.839 [debug] QUERY OK source="settings" db=3.8ms queue=0.1ms idle=1733.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:37:15.842 [debug] QUERY OK source="settings" db=2.2ms idle=1738.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:37:15.844 [debug] QUERY OK source="settings" db=2.2ms idle=1740.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:37:15.845 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=uv06bzr7Y3U --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/YogLabs 2/Season 1/s01e01 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/YogLabs 2/Season 1/s01e01 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e9/56/e9563c2176e0c8b2afe56212b3290515a9f6abe0f50b198936f0220586a255bc.json --sleep-requests 14 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:37:24.609 [info] {"source":"oban","duration":5236,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:54.616 [info] {"source":"oban","duration":5428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:00.942 [info] {"source":"oban","duration":276,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:38:24.621 [info] {"source":"oban","duration":4244,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:54.625 [info] {"source":"oban","duration":4241,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:00.942 [info] {"source":"oban","duration":245,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:39:24.630 [info] {"source":"oban","duration":3206,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:54.634 [info] {"source":"oban","duration":3997,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:00.944 [info] {"source":"oban","duration":345,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:40:24.641 [info] {"source":"oban","duration":5479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:46.015 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=uv06bzr7Y3U --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/YogLabs 2/Season 1/s01e01 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/YogLabs 2/Season 1/s01e01 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e9/56/e9563c2176e0c8b2afe56212b3290515a9f6abe0f50b198936f0220586a255bc.json --sleep-requests 14 --sleep-interval 13 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] uv06bzr7Y3U: nsig extraction failed: Some formats may be missing n = IerwVi53vFebrbbO ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] uv06bzr7Y3U: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] uv06bzr7Y3U: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:40:46.134 [debug] Running yt-dlp command for action: download_thumbnail 22:40:46.139 [debug] QUERY OK source="settings" db=2.2ms idle=554.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:40:46.141 [debug] QUERY OK source="settings" db=2.5ms idle=31.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:40:46.144 [debug] QUERY OK source="settings" db=1.8ms idle=34.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:40:46.144 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=uv06bzr7Y3U --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/188/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/48/dd/48ddfa137d058410cdcedb56201b6bbab804a861226beabbc524bcd7d651391f.json --sleep-requests 13 --sleep-interval 11 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:40:54.645 [info] {"source":"oban","duration":3424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:00.945 [info] {"source":"oban","duration":291,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:41:24.649 [info] {"source":"oban","duration":3984,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:54.654 [info] {"source":"oban","duration":3591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:42:00.945 [info] {"source":"oban","duration":221,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:42:08.561 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=uv06bzr7Y3U --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/188/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/48/dd/48ddfa137d058410cdcedb56201b6bbab804a861226beabbc524bcd7d651391f.json --sleep-requests 13 --sleep-interval 11 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] uv06bzr7Y3U: nsig extraction failed: Some formats may be missing n = NE9sEutO_O0jxrkw ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] uv06bzr7Y3U: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] uv06bzr7Y3U: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:42:08.561 [debug] QUERY OK db=0.0ms idle=587.9ms begin [] 22:42:08.611 [debug] QUERY OK source="media_items" db=49.1ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 02:40:46Z], "/downloads/series/YogLabs 2/Season 1/s01e01 - We_re_back_baby_YogLabs_2.mp4", "/downloads/series/YogLabs 2/Season 1/s01e01 - We_re_back_baby_YogLabs_2.mp4", [["en", "/downloads/series/YogLabs 2/Season 1/s01e01 - We_re_back_baby_YogLabs_2.en.vtt"]], "/downloads/series/YogLabs 2/Season 1/s01e01 - We_re_back_baby_YogLabs_2-thumb.jpg", ~U[2025-10-28 02:42:08Z], 188] 22:42:08.615 [debug] QUERY OK source="media_metadata" db=3.9ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/188/metadata.json.gz", "/config/metadata/media_items/188/thumbnail.jpg", 188, ~U[2025-10-28 02:42:08Z], ~U[2025-10-28 02:42:08Z]] 22:42:08.692 [debug] QUERY OK db=76.3ms commit [] 22:42:08.777 [debug] QUERY OK source="media_items" db=83.6ms idle=583.1ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [486458255, ~U[2025-10-28 02:42:08Z], 188] 22:42:08.779 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:42:08.819 [info] {"args":{"id":188},"id":120,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":375032116,"event":"job:stop","queue_time":19151676623,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:42:08.870 [info] {"args":{"id":189},"id":122,"meta":{},"system_time":1761619328870455573,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:42:08.874 [debug] QUERY OK source="media_items" db=3.3ms idle=760.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" = ?) [189] 22:42:08.874 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:42:08.878 [debug] QUERY OK source="sources" db=3.0ms queue=0.1ms idle=183.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:42:08.881 [debug] QUERY OK source="media_profiles" db=2.5ms idle=101.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:42:08.885 [debug] QUERY OK source="media_items" db=3.9ms idle=62.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 [189] 22:42:08.889 [debug] QUERY OK source="media_metadata" db=2.6ms idle=16.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [189] 22:42:08.892 [debug] QUERY OK source="media_profiles" db=2.6ms idle=15.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:42:08.896 [debug] QUERY OK source="settings" db=2.8ms 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 [] 22:42:08.899 [debug] QUERY OK source="settings" db=2.6ms 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 [] 22:42:08.901 [debug] Running yt-dlp command for action: get_downloadable_status 22:42:08.903 [debug] QUERY OK source="settings" db=2.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 [] 22:42:08.906 [debug] QUERY OK source="settings" db=2.2ms 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 [] 22:42:08.909 [debug] QUERY OK source="settings" db=2.5ms 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 [] 22:42:08.909 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4Axzow0utfQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4b/f7/4bf76d1860a8216db577c0c74b56e9d41c1b2ad8e88b55e809a5fd2703b890f4.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:42:24.660 [info] {"source":"oban","duration":5368,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:42:54.665 [info] {"source":"oban","duration":4624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:00.947 [info] {"source":"oban","duration":297,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:43:24.670 [info] {"source":"oban","duration":4811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:30.720 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4Axzow0utfQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4b/f7/4bf76d1860a8216db577c0c74b56e9d41c1b2ad8e88b55e809a5fd2703b890f4.json --sleep-requests 13 --sleep-interval 12 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js WARNING: [youtube] 4Axzow0utfQ: nsig extraction failed: Some formats may be missing n = ANm44BtRAKz93Gt ; player = https://www.youtube.com/s/player/5cf6312f/player_ias.vflset/en_US/base.js 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] 4Axzow0utfQ: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 4Axzow0utfQ: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:43:30.720 [debug] Running yt-dlp command for action: download 22:43:30.724 [debug] QUERY OK source="settings" db=2.6ms queue=0.2ms idle=610.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:43:30.726 [debug] QUERY OK source="settings" db=2.0ms idle=613.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:43:30.729 [debug] QUERY OK source="settings" db=2.4ms idle=615.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:43:30.729 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4Axzow0utfQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/YogLabs 2/Season 1/s01e02 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/YogLabs 2/Season 1/s01e02 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/88/84/88848e2c06578b6523bbdc37f761badb047d1d4326412037c8819d6fd896f6e7.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:43:54.676 [info] {"source":"oban","duration":4818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:44:00.948 [info] {"source":"oban","duration":338,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:44:24.682 [info] {"source":"oban","duration":4214,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:44:54.685 [info] {"source":"oban","duration":3169,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:00.949 [info] {"source":"oban","duration":314,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:45:24.690 [info] {"source":"oban","duration":3597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:54.694 [info] {"source":"oban","duration":3963,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:00.950 [info] {"source":"oban","duration":326,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:46:24.699 [info] {"source":"oban","duration":3430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:48.246 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4Axzow0utfQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/YogLabs 2/Season 1/s01e02 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/YogLabs 2/Season 1/s01e02 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/88/84/88848e2c06578b6523bbdc37f761badb047d1d4326412037c8819d6fd896f6e7.json --sleep-requests 13 --sleep-interval 14 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 4Axzow0utfQ: nsig extraction failed: Some formats may be missing n = 1uwFOuxnHQwqHYaD ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 4Axzow0utfQ: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 4Axzow0utfQ: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:46:48.368 [debug] Running yt-dlp command for action: download_thumbnail 22:46:48.372 [debug] QUERY OK source="settings" db=2.4ms idle=1255.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:46:48.374 [debug] QUERY OK source="settings" db=2.0ms idle=727.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:46:48.376 [debug] QUERY OK source="settings" db=2.0ms idle=260.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:46:48.377 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4Axzow0utfQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/189/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/28/5a/285af4c555c7787a2592b241196f50d73e22eb07794ff09d76f947c7bf4254f3.json --sleep-requests 14 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:46:54.703 [info] {"source":"oban","duration":3463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:00.951 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:47:24.707 [info] {"source":"oban","duration":3927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:54.712 [info] {"source":"oban","duration":3816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:48:00.952 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:48:16.785 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=4Axzow0utfQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/189/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/28/5a/285af4c555c7787a2592b241196f50d73e22eb07794ff09d76f947c7bf4254f3.json --sleep-requests 14 --sleep-interval 11 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] 4Axzow0utfQ: nsig extraction failed: Some formats may be missing n = bePlzN_y82WsYpDy ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] 4Axzow0utfQ: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] 4Axzow0utfQ: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:48:16.786 [debug] QUERY OK db=0.1ms idle=710.5ms begin [] 22:48:16.815 [debug] QUERY OK source="media_items" db=28.5ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 02:46:48Z], "/downloads/series/YogLabs 2/Season 1/s01e02 - New_Coffee_Machine_YogLabs_2.mp4", "/downloads/series/YogLabs 2/Season 1/s01e02 - New_Coffee_Machine_YogLabs_2.mp4", [["en", "/downloads/series/YogLabs 2/Season 1/s01e02 - New_Coffee_Machine_YogLabs_2.en.vtt"]], "/downloads/series/YogLabs 2/Season 1/s01e02 - New_Coffee_Machine_YogLabs_2-thumb.jpg", ~U[2025-10-28 02:48:16Z], 189] 22:48:16.854 [debug] QUERY OK source="media_metadata" db=38.6ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/189/metadata.json.gz", "/config/metadata/media_items/189/thumbnail.jpg", 189, ~U[2025-10-28 02:48:16Z], ~U[2025-10-28 02:48:16Z]] 22:48:16.963 [debug] QUERY OK db=108.8ms commit [] 22:48:17.039 [debug] QUERY OK source="media_items" db=73.7ms idle=851.4ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [358902373, ~U[2025-10-28 02:48:16Z], 189] 22:48:17.041 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:48:17.131 [info] {"args":{"id":189},"id":122,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":368171032,"event":"job:stop","queue_time":19434825660,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:48:17.182 [info] {"args":{"id":192},"id":124,"meta":{},"system_time":1761619697182458469,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:48:17.186 [debug] QUERY OK source="media_items" db=3.2ms idle=219.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" = ?) [192] 22:48:17.186 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:48:17.189 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=147.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:48:17.192 [debug] QUERY OK source="media_profiles" db=2.8ms 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] 22:48:17.211 [debug] QUERY OK source="media_items" db=2.8ms idle=26.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 [192] 22:48:17.215 [debug] QUERY OK source="media_metadata" db=2.5ms idle=26.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [192] 22:48:17.218 [debug] QUERY OK source="media_profiles" db=2.7ms 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] 22:48:17.221 [debug] QUERY OK source="settings" db=2.4ms 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 [] 22:48:17.224 [debug] QUERY OK source="settings" db=2.7ms 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 [] 22:48:17.226 [debug] Running yt-dlp command for action: get_downloadable_status 22:48:17.230 [debug] QUERY OK source="settings" db=2.7ms 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 [] 22:48:17.233 [debug] QUERY OK source="settings" db=2.6ms 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 [] 22:48:17.236 [debug] QUERY OK source="settings" db=2.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 [] 22:48:17.236 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/eb/9c/eb9c0f890c9358aaae6408b9010e3763b77992671dd8bb66aeba920855f3c01c.json --sleep-requests 12 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:48:24.720 [info] {"source":"oban","duration":6460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:48:54.725 [info] {"source":"oban","duration":4846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:00.953 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:49:08.176 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/eb/9c/eb9c0f890c9358aaae6408b9010e3763b77992671dd8bb66aeba920855f3c01c.json --sleep-requests 12 --sleep-interval 14 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks. 22:49:08.176 [error] yt-dlp download error for media item #192: "ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 22:49:08.312 [debug] QUERY OK source="media_items" db=134.6ms idle=1063.4ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks.\n", ~U[2025-10-28 02:49:08Z], 192] 22:49:08.365 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":192},"id":124,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":51129927,"event":"job:exception","queue_time":19727137680,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:49:08.416 [info] {"args":{"id":41},"id":33,"meta":{},"system_time":1761619748416426171,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:49:08.420 [debug] QUERY OK source="media_items" db=3.1ms idle=302.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" = ?) [41] 22:49:08.420 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:49:08.423 [debug] QUERY OK source="sources" db=2.3ms queue=0.1ms idle=306.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:49:08.426 [debug] QUERY OK source="media_profiles" db=2.9ms queue=0.1ms idle=111.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:49:08.431 [debug] QUERY OK source="media_items" db=4.3ms idle=61.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 [41] 22:49:08.436 [debug] QUERY OK source="media_metadata" db=2.2ms idle=18.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [41] 22:49:08.439 [debug] QUERY OK source="media_profiles" db=2.6ms queue=0.1ms idle=17.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:49:08.443 [debug] QUERY OK source="settings" db=2.4ms 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 [] 22:49:08.446 [debug] QUERY OK source="settings" db=2.5ms 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 [] 22:49:08.447 [debug] Running yt-dlp command for action: get_downloadable_status 22:49:08.450 [debug] QUERY OK source="settings" db=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 [] 22:49:08.453 [debug] QUERY OK source="settings" db=2.4ms 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 [] 22:49:08.456 [debug] QUERY OK source="settings" db=2.5ms 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 [] 22:49:08.456 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=BcsN3d7eKgY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9c/90/9c907a3e2c7f63c51d78a358614ebbf4e40e33ccf358491cb5c0f9352d770d41.json --sleep-requests 13 --sleep-interval 15 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:49:24.731 [info] {"source":"oban","duration":4841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:54.736 [info] {"source":"oban","duration":3659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:00.954 [info] {"source":"oban","duration":326,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:50:24.741 [info] {"source":"oban","duration":4715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:30.796 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=BcsN3d7eKgY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9c/90/9c907a3e2c7f63c51d78a358614ebbf4e40e33ccf358491cb5c0f9352d770d41.json --sleep-requests 13 --sleep-interval 15 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] BcsN3d7eKgY: nsig extraction failed: Some formats may be missing n = oM_lheznAN-oRKTy ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] BcsN3d7eKgY: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] BcsN3d7eKgY: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:50:30.797 [debug] Running yt-dlp command for action: download 22:50:30.800 [debug] QUERY OK source="settings" db=2.7ms idle=892.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:50:30.803 [debug] QUERY OK source="settings" db=3.1ms idle=686.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:50:30.806 [debug] QUERY OK source="settings" db=2.2ms idle=689.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:50:30.806 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=BcsN3d7eKgY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e28 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e28 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/97/ba/97ba6f448a8c978a4b640bd9ba3a311a2b3fa7e46fac34465c788f7b044873b8.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:50:54.746 [info] {"source":"oban","duration":3332,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:00.955 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:51:24.751 [info] {"source":"oban","duration":4803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:54.757 [info] {"source":"oban","duration":5180,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:00.956 [info] {"source":"oban","duration":258,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:52:24.762 [info] {"source":"oban","duration":3520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:54.767 [info] {"source":"oban","duration":4329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:00.956 [info] {"source":"oban","duration":222,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:53:24.773 [info] {"source":"oban","duration":3242,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:30.623 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=BcsN3d7eKgY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/series/Shadow Of Israphel/Season 1/s01e28 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro,selfpromo,interaction --output /downloads/series/Shadow Of Israphel/Season 1/s01e28 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/97/ba/97ba6f448a8c978a4b640bd9ba3a311a2b3fa7e46fac34465c788f7b044873b8.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] BcsN3d7eKgY: nsig extraction failed: Some formats may be missing n = wx56iUeCHz4vLV08 ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] BcsN3d7eKgY: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] BcsN3d7eKgY: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:53:30.744 [debug] Running yt-dlp command for action: download_thumbnail 22:53:30.748 [debug] QUERY OK source="settings" db=2.3ms idle=977.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:30.750 [debug] QUERY OK source="settings" db=2.4ms idle=631.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:30.753 [debug] QUERY OK source="settings" db=2.3ms idle=634.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:30.753 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=BcsN3d7eKgY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/41/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/2b/f0/2bf0c569115f635ac338068116919fae50185762a5129c8c41d09aeb65024509.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:53:54.778 [info] {"source":"oban","duration":3647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:00.958 [info] {"source":"oban","duration":252,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:54:24.783 [info] {"source":"oban","duration":3718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:50.848 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=BcsN3d7eKgY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/41/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/2b/f0/2bf0c569115f635ac338068116919fae50185762a5129c8c41d09aeb65024509.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js WARNING: [youtube] BcsN3d7eKgY: nsig extraction failed: Some formats may be missing n = Y_BeCWcBButKF1mk ; player = https://www.youtube.com/s/player/25f1a420/player_ias.vflset/en_US/base.js 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] BcsN3d7eKgY: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details WARNING: [youtube] BcsN3d7eKgY: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details 22:54:50.848 [debug] QUERY OK db=0.1ms queue=0.1ms idle=731.7ms begin [] 22:54:50.906 [debug] QUERY OK source="media_items" db=56.8ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "predicted_media_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2025-10-28 02:53:30Z], "/downloads/series/Shadow Of Israphel/Season 1/s01e28 - Minecraft_-_Survival_Island_Part_1_-_Precious_Dirt.mp4", "/downloads/series/Shadow Of Israphel/Season 1/s01e28 - Minecraft_-_Survival_Island_Part_1_-_Precious_Dirt.mp4", [["en", "/downloads/series/Shadow Of Israphel/Season 1/s01e28 - Minecraft_-_Survival_Island_Part_1_-_Precious_Dirt.en.vtt"]], "/downloads/series/Shadow Of Israphel/Season 1/s01e28 - Minecraft_-_Survival_Island_Part_1_-_Precious_Dirt-thumb.jpg", ~U[2025-10-28 02:54:50Z], 41] 22:54:50.910 [debug] QUERY OK source="media_metadata" db=4.1ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/41/metadata.json.gz", "/config/metadata/media_items/41/thumbnail.jpg", 41, ~U[2025-10-28 02:54:50Z], ~U[2025-10-28 02:54:50Z]] 22:54:50.983 [debug] QUERY OK db=72.5ms commit [] 22:54:51.054 [debug] QUERY OK source="media_items" db=70.7ms idle=866.7ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? [nil, ~U[2025-10-28 02:54:50Z], 41] 22:54:51.130 [debug] QUERY OK source="media_items" db=73.3ms idle=940.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [127052313, ~U[2025-10-28 02:54:51Z], 41] 22:54:51.132 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:54:51.180 [info] {"args":{"id":41},"id":33,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":342715922,"event":"job:stop","queue_time":28227790638,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:54:51.259 [info] {"args":{"id":192},"id":124,"meta":{},"system_time":1761620091258914433,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:54:51.262 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=204.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" = ?) [192] 22:54:51.262 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:54:51.265 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=132.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:54:51.268 [debug] QUERY OK source="media_profiles" db=2.5ms queue=0.1ms idle=85.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:54:51.273 [debug] QUERY OK source="media_items" db=3.6ms idle=82.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 [192] 22:54:51.276 [debug] QUERY OK source="media_metadata" db=2.2ms idle=15.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [192] 22:54:51.279 [debug] QUERY OK source="media_profiles" db=2.8ms idle=14.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:54:51.282 [debug] QUERY OK source="settings" db=2.5ms 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 [] 22:54:51.285 [debug] QUERY OK source="settings" db=2.7ms 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 [] 22:54:51.287 [debug] Running yt-dlp command for action: get_downloadable_status 22:54:51.298 [debug] QUERY OK source="settings" db=2.7ms idle=22.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:54:51.300 [debug] QUERY OK source="settings" db=2.4ms 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 [] 22:54:51.303 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=21.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:54:51.304 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/46/26/4626bd713d1b58942cc71031afc24a3f65d8585dd520162632fb82b691a3896d.json --sleep-requests 15 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:54:54.790 [info] {"source":"oban","duration":5501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:00.959 [info] {"source":"oban","duration":251,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:55:24.795 [info] {"source":"oban","duration":5165,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:54.428 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/46/26/4626bd713d1b58942cc71031afc24a3f65d8585dd520162632fb82b691a3896d.json --sleep-requests 15 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks. 22:55:54.428 [error] yt-dlp download error for media item #192: "ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 22:55:54.488 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":192},"id":124,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":63170277,"event":"job:exception","queue_time":324874241,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:55:54.802 [info] {"source":"oban","duration":5638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:56:00.960 [info] {"source":"oban","duration":299,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:56:14.686 [info] {"args":{"id":192},"id":124,"meta":{},"system_time":1761620174686389447,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:56:14.690 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=570.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" = ?) [192] 22:56:14.690 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:56:14.693 [debug] QUERY OK source="sources" db=2.3ms idle=574.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:56:14.696 [debug] QUERY OK source="media_profiles" db=2.9ms queue=0.1ms idle=576.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:56:14.701 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=53.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 [192] 22:56:14.708 [debug] QUERY OK source="media_metadata" db=3.1ms idle=19.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [192] 22:56:14.712 [debug] QUERY OK source="media_profiles" db=3.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] 22:56:14.716 [debug] QUERY OK source="settings" db=3.3ms 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 [] 22:56:14.719 [debug] QUERY OK source="settings" db=3.1ms 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 [] 22:56:14.720 [debug] Running yt-dlp command for action: get_downloadable_status 22:56:14.727 [debug] QUERY OK source="settings" db=5.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 [] 22:56:14.730 [debug] QUERY OK source="settings" db=3.1ms 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 [] 22:56:14.733 [debug] QUERY OK source="settings" db=2.8ms idle=18.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:56:14.734 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d8/c1/d8c1df9d4994cd2360d5269d52f74d8dd70f9b0f038aaaa8e3416c6d61cfde9a.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:56:24.807 [info] {"source":"oban","duration":4981,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:56:54.812 [info] {"source":"oban","duration":3297,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:57:00.961 [info] {"source":"oban","duration":325,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:57:13.546 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d8/c1/d8c1df9d4994cd2360d5269d52f74d8dd70f9b0f038aaaa8e3416c6d61cfde9a.json --sleep-requests 14 --sleep-interval 14 --sleep-subtitles 14 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks. 22:57:13.546 [error] yt-dlp download error for media item #192: "ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 22:57:13.598 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":192},"id":124,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":58860197,"event":"job:exception","queue_time":191348,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:57:24.816 [info] {"source":"oban","duration":4206,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:57:37.127 [info] {"args":{"id":192},"id":124,"meta":{},"system_time":1761620257126690235,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:57:37.130 [debug] QUERY OK source="media_items" db=2.8ms idle=1007.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" = ?) [192] 22:57:37.131 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:57:37.134 [debug] QUERY OK source="sources" db=2.6ms idle=1012.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:57:37.137 [debug] QUERY OK source="media_profiles" db=2.7ms queue=0.1ms idle=1015.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:57:37.142 [debug] QUERY OK source="media_items" db=3.5ms idle=61.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 [192] 22:57:37.146 [debug] QUERY OK source="media_metadata" db=2.5ms idle=17.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [192] 22:57:37.149 [debug] QUERY OK source="media_profiles" db=2.7ms 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] 22:57:37.152 [debug] QUERY OK source="settings" db=2.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 [] 22:57:37.155 [debug] QUERY OK source="settings" db=2.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 [] 22:57:37.156 [debug] Running yt-dlp command for action: get_downloadable_status 22:57:37.161 [debug] QUERY OK source="settings" db=2.6ms 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 [] 22:57:37.164 [debug] QUERY OK source="settings" db=2.6ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:57:37.167 [debug] QUERY OK source="settings" db=2.9ms 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 [] 22:57:37.167 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d0/07/d0070dea9069764d9e066cf49bca2dc308f206c4af47ddc12e6e4b31bec8d205.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:57:54.822 [info] {"source":"oban","duration":4815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:58:00.962 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:58:24.828 [info] {"source":"oban","duration":4970,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:58:40.116 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d0/07/d0070dea9069764d9e066cf49bca2dc308f206c4af47ddc12e6e4b31bec8d205.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks. 22:58:40.116 [error] yt-dlp download error for media item #192: "ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 22:58:40.187 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":192},"id":124,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":62990723,"event":"job:exception","queue_time":501971,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:58:54.832 [info] {"source":"oban","duration":3083,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:59:00.963 [info] {"source":"oban","duration":323,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:59:13.616 [info] {"args":{"id":192},"id":124,"meta":{},"system_time":1761620353615771979,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:59:13.619 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=1496.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" = ?) [192] 22:59:13.620 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:59:13.623 [debug] QUERY OK source="sources" db=2.7ms queue=0.1ms idle=1500.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:59:13.626 [debug] QUERY OK source="media_profiles" db=2.7ms queue=0.1ms idle=1102.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:59:13.631 [debug] QUERY OK source="media_items" db=3.9ms idle=61.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 [192] 22:59:13.635 [debug] QUERY OK source="media_metadata" db=2.7ms idle=16.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [192] 22:59:13.638 [debug] QUERY OK source="media_profiles" db=2.6ms queue=0.1ms idle=16.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:59:13.641 [debug] QUERY OK source="settings" db=2.4ms 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 [] 22:59:13.644 [debug] QUERY OK source="settings" db=2.4ms 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 [] 22:59:13.645 [debug] Running yt-dlp command for action: get_downloadable_status 22:59:13.648 [debug] QUERY OK source="settings" db=2.2ms 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 [] 22:59:13.651 [debug] QUERY OK source="settings" db=2.7ms 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 [] 22:59:13.654 [debug] QUERY OK source="settings" db=2.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 [] 22:59:13.655 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1c/42/1c42dac68eb8be49e1546bf4f982fee7849c4469b27b3e9559f01294003446e9.json --sleep-requests 13 --sleep-interval 15 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:59:24.838 [info] {"source":"oban","duration":5061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:59:54.844 [info] {"source":"oban","duration":5135,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:00.964 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:00:08.435 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1c/42/1c42dac68eb8be49e1546bf4f982fee7849c4469b27b3e9559f01294003446e9.json --sleep-requests 13 --sleep-interval 15 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks. 23:00:08.435 [error] yt-dlp download error for media item #192: "ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 23:00:08.485 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":192},"id":124,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":54820414,"event":"job:exception","queue_time":427125,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 23:00:24.850 [info] {"source":"oban","duration":4775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:54.856 [info] {"source":"oban","duration":4744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:59.142 [info] {"args":{"id":192},"id":124,"meta":{},"system_time":1761620459141893508,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 23:00:59.145 [debug] QUERY OK source="media_items" db=3.0ms idle=1022.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" = ?) [192] 23:00:59.147 [info] User scripts lifecyle file either not present or is empty. Skipping. 23:00:59.150 [debug] QUERY OK source="sources" db=3.0ms queue=0.1ms idle=1027.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 23:00:59.153 [debug] QUERY OK source="media_profiles" db=2.7ms idle=1031.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:00:59.158 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=54.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 [192] 23:00:59.168 [debug] QUERY OK source="media_metadata" db=2.9ms idle=24.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [192] 23:00:59.171 [debug] QUERY OK source="media_profiles" db=2.6ms 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] 23:00:59.175 [debug] QUERY OK source="settings" db=2.5ms 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 [] 23:00:59.178 [debug] QUERY OK source="settings" db=2.6ms 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 [] 23:00:59.179 [debug] Running yt-dlp command for action: get_downloadable_status 23:00:59.183 [debug] QUERY OK source="settings" db=2.3ms 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 [] 23:00:59.186 [debug] QUERY OK source="settings" db=2.8ms 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 [] 23:00:59.189 [debug] QUERY OK source="settings" db=2.6ms 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 [] 23:00:59.189 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/42/00/42006d69d00f802e0b3fc59547f1547b68d901973e45a7c9893f6feadeaf13e6.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 23:01:00.965 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:01:24.862 [info] {"source":"oban","duration":4312,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:01:54.869 [info] {"source":"oban","duration":6517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:00.966 [info] {"source":"oban","duration":302,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:02:01.986 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/42/00/42006d69d00f802e0b3fc59547f1547b68d901973e45a7c9893f6feadeaf13e6.json --sleep-requests 15 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks. 23:02:01.986 [error] yt-dlp download error for media item #192: "ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 23:02:02.037 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":192},"id":124,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":62845357,"event":"job:exception","queue_time":644429,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 23:02:24.874 [info] {"source":"oban","duration":4771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:54.880 [info] {"source":"oban","duration":4971,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:00.967 [info] {"source":"oban","duration":427,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:03:24.863 [info] {"args":{"id":192},"id":124,"meta":{},"system_time":1761620604862901623,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 23:03:24.866 [debug] QUERY OK source="media_items" db=2.9ms idle=743.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" = ?) [192] 23:03:24.868 [info] User scripts lifecyle file either not present or is empty. Skipping. 23:03:24.871 [debug] QUERY OK source="sources" db=2.2ms idle=748.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 23:03:24.878 [debug] QUERY OK source="media_profiles" db=6.9ms idle=751.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:03:24.882 [debug] QUERY OK source="media_items" db=3.4ms queue=0.4ms idle=65.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 [192] 23:03:24.884 [info] {"source":"oban","duration":2734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:24.886 [debug] QUERY OK source="media_metadata" db=2.2ms idle=17.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [192] 23:03:24.889 [debug] QUERY OK source="media_profiles" db=2.5ms 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] 23:03:24.892 [debug] QUERY OK source="settings" db=2.5ms 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 [] 23:03:24.894 [debug] QUERY OK source="settings" db=2.2ms 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 [] 23:03:24.896 [debug] Running yt-dlp command for action: get_downloadable_status 23:03:24.907 [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 [] 23:03:24.910 [debug] QUERY OK source="settings" db=3.0ms 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 [] 23:03:24.913 [debug] QUERY OK source="settings" db=2.6ms 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 [] 23:03:24.913 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/31/3c/313c16e649c204a35e414414ce03bb404e21ee54e10a682d053e6cbae3472ba0.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 23:03:54.889 [info] {"source":"oban","duration":4959,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:00.968 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:04:15.893 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/31/3c/313c16e649c204a35e414414ce03bb404e21ee54e10a682d053e6cbae3472ba0.json --sleep-requests 12 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks. 23:04:15.893 [error] yt-dlp download error for media item #192: "ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 23:04:15.954 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":192},"id":124,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":51031083,"event":"job:exception","queue_time":797355,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 23:04:24.895 [info] {"source":"oban","duration":4808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:54.902 [info] {"source":"oban","duration":5580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:00.969 [info] {"source":"oban","duration":320,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:05:24.907 [info] {"source":"oban","duration":4985,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:54.911 [info] {"source":"oban","duration":3277,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:00.970 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:06:24.916 [info] {"source":"oban","duration":3302,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:43.156 [info] {"args":{"id":192},"id":124,"meta":{},"system_time":1761620803156000826,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 23:06:43.160 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=1019.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [192] 23:06:43.161 [info] User scripts lifecyle file either not present or is empty. Skipping. 23:06:43.164 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=1025.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 23:06:43.168 [debug] QUERY OK source="media_profiles" db=2.9ms queue=0.1ms idle=1028.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:06:43.173 [debug] QUERY OK source="media_items" db=4.3ms idle=145.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 [192] 23:06:43.176 [debug] QUERY OK source="media_metadata" db=2.4ms idle=18.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [192] 23:06:43.179 [debug] QUERY OK source="media_profiles" db=2.9ms idle=16.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:06:43.183 [debug] QUERY OK source="settings" db=2.8ms idle=15.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:06:43.186 [debug] QUERY OK source="settings" db=2.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 [] 23:06:43.187 [debug] Running yt-dlp command for action: get_downloadable_status 23:06:43.191 [debug] QUERY OK source="settings" db=2.3ms 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 [] 23:06:43.193 [debug] QUERY OK source="settings" db=2.4ms 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 [] 23:06:43.196 [debug] QUERY OK source="settings" db=2.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 [] 23:06:43.196 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c7/60/c7604e812d1c09ea2a883adbb7f4eafb7c64a8d0ec0568cca236c5bcceae8287.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 23:06:54.922 [info] {"source":"oban","duration":5377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:00.971 [info] {"source":"oban","duration":314,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:07:24.927 [info] {"source":"oban","duration":4917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:46.096 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c7/60/c7604e812d1c09ea2a883adbb7f4eafb7c64a8d0ec0568cca236c5bcceae8287.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks. 23:07:46.097 [error] yt-dlp download error for media item #192: "ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 23:07:46.161 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":192},"id":124,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":62941596,"event":"job:exception","queue_time":1022573,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 23:07:54.932 [info] {"source":"oban","duration":4250,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:00.972 [info] {"source":"oban","duration":292,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:08:24.938 [info] {"source":"oban","duration":4533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:54.942 [info] {"source":"oban","duration":3391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:00.973 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:09:24.946 [info] {"source":"oban","duration":4098,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:54.952 [info] {"source":"oban","duration":5131,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:00.974 [info] {"source":"oban","duration":258,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:10:24.957 [info] {"source":"oban","duration":3667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:54.961 [info] {"source":"oban","duration":3727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:00.975 [info] {"source":"oban","duration":273,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:11:24.966 [info] {"source":"oban","duration":3551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:54.970 [info] {"source":"oban","duration":3516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:00.976 [info] {"source":"oban","duration":282,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:12:24.975 [info] {"source":"oban","duration":4361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:43.888 [info] {"args":{"id":192},"id":124,"meta":{},"system_time":1761621163888435226,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 23:12:43.902 [debug] QUERY OK source="media_items" db=13.5ms queue=0.1ms idle=1751.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" = ?) [192] 23:12:43.908 [info] User scripts lifecyle file either not present or is empty. Skipping. 23:12:43.913 [debug] QUERY OK source="sources" db=4.2ms queue=0.1ms idle=1771.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 23:12:43.918 [debug] QUERY OK source="media_profiles" db=4.8ms idle=1244.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:12:43.935 [debug] QUERY OK source="media_items" db=15.9ms queue=0.1ms idle=123.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 [192] 23:12:43.941 [debug] QUERY OK source="media_metadata" db=4.1ms idle=49.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [192] 23:12:43.945 [debug] QUERY OK source="media_profiles" db=3.8ms 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] 23:12:43.950 [debug] QUERY OK source="settings" db=3.8ms idle=32.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:12:43.955 [debug] QUERY OK source="settings" db=4.9ms 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 [] 23:12:43.959 [debug] Running yt-dlp command for action: get_downloadable_status 23:12:43.967 [debug] QUERY OK source="settings" db=5.8ms 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 [] 23:12:43.974 [debug] QUERY OK source="settings" db=6.8ms 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 [] 23:12:43.983 [debug] QUERY OK source="settings" db=8.1ms 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 [] 23:12:43.983 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c6/62/c662d042eea634546ff8ec382714166e530f0a20ebb0e8ba060522ca57fc6852.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 23:12:54.981 [info] {"source":"oban","duration":5774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:00.977 [info] {"source":"oban","duration":281,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:13:24.986 [info] {"source":"oban","duration":4027,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:47.236 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c6/62/c662d042eea634546ff8ec382714166e530f0a20ebb0e8ba060522ca57fc6852.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks. 23:13:47.236 [error] yt-dlp download error for media item #192: "ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 23:13:47.339 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":192},"id":124,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":63348924,"event":"job:exception","queue_time":636994,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 23:13:54.993 [info] {"source":"oban","duration":5719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:00.978 [info] {"source":"oban","duration":288,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:14:24.997 [info] {"source":"oban","duration":3820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:55.002 [info] {"source":"oban","duration":3860,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:00.979 [info] {"source":"oban","duration":294,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:15:25.009 [info] {"source":"oban","duration":5512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:55.013 [info] {"source":"oban","duration":4257,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:00.980 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:16:25.018 [info] {"source":"oban","duration":3681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:55.023 [info] {"source":"oban","duration":5072,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:00.981 [info] {"source":"oban","duration":286,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:17:25.029 [info] {"source":"oban","duration":4335,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:55.032 [info] {"source":"oban","duration":2914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:00.982 [info] {"source":"oban","duration":266,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:18:25.037 [info] {"source":"oban","duration":3477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:55.041 [info] {"source":"oban","duration":3594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:00.983 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:19:25.046 [info] {"source":"oban","duration":4260,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:55.049 [info] {"source":"oban","duration":2976,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:00.984 [info] {"source":"oban","duration":337,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:20:25.054 [info] {"source":"oban","duration":3369,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:55.058 [info] {"source":"oban","duration":3588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:00.985 [info] {"source":"oban","duration":293,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:21:25.062 [info] {"source":"oban","duration":3532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:55.066 [info] {"source":"oban","duration":3315,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:00.986 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:22:25.070 [info] {"source":"oban","duration":3504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:55.074 [info] {"source":"oban","duration":3711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:00.987 [info] {"source":"oban","duration":289,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:23:23.879 [info] {"args":{"id":192},"id":124,"meta":{},"system_time":1761621803878903169,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 23:23:23.883 [debug] QUERY OK source="media_items" db=3.6ms idle=1736.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" = ?) [192] 23:23:23.884 [info] User scripts lifecyle file either not present or is empty. Skipping. 23:23:23.887 [debug] QUERY OK source="sources" db=2.2ms idle=1741.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 23:23:23.890 [debug] QUERY OK source="media_profiles" db=2.9ms idle=1147.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:23:23.894 [debug] QUERY OK source="media_items" db=3.3ms idle=77.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 [192] 23:23:23.898 [debug] QUERY OK source="media_metadata" db=2.4ms idle=17.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [192] 23:23:23.901 [debug] QUERY OK source="media_profiles" db=2.5ms idle=15.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:23:23.904 [debug] QUERY OK source="settings" db=2.7ms 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 [] 23:23:23.907 [debug] QUERY OK source="settings" db=2.6ms 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 [] 23:23:23.909 [debug] Running yt-dlp command for action: get_downloadable_status 23:23:23.912 [debug] QUERY OK source="settings" db=2.8ms 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 [] 23:23:23.915 [debug] QUERY OK source="settings" db=2.6ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:23:23.918 [debug] QUERY OK source="settings" db=2.4ms 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 [] 23:23:23.918 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d7/4f/d74f2ac6feb1768e743124b822d63fbd8389070395140bc5b63927d29a0db2bf.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 23:23:25.081 [info] {"source":"oban","duration":6097,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:55.087 [info] {"source":"oban","duration":4393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:24:00.988 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:24:22.800 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d7/4f/d74f2ac6feb1768e743124b822d63fbd8389070395140bc5b63927d29a0db2bf.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 11 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks. 23:24:22.800 [error] yt-dlp download error for media item #192: "ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 23:24:22.859 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":192},"id":124,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":58921717,"event":"job:exception","queue_time":537261,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 23:24:25.092 [info] {"source":"oban","duration":4965,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:24:55.098 [info] {"source":"oban","duration":4638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:00.989 [info] {"source":"oban","duration":297,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:25:25.103 [info] {"source":"oban","duration":5135,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:55.108 [info] {"source":"oban","duration":4249,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:00.990 [info] {"source":"oban","duration":319,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:26:25.114 [info] {"source":"oban","duration":4332,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:55.118 [info] {"source":"oban","duration":3586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:00.991 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:27:25.122 [info] {"source":"oban","duration":3499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:55.126 [info] {"source":"oban","duration":3624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:00.992 [info] {"source":"oban","duration":301,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:28:25.130 [info] {"source":"oban","duration":3649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:55.134 [info] {"source":"oban","duration":3590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:00.993 [info] {"source":"oban","duration":289,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:29:25.138 [info] {"source":"oban","duration":3399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:55.142 [info] {"source":"oban","duration":3690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:00.994 [info] {"source":"oban","duration":282,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:30:25.147 [info] {"source":"oban","duration":4142,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:55.152 [info] {"source":"oban","duration":3786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:00.995 [info] {"source":"oban","duration":324,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:31:25.157 [info] {"source":"oban","duration":3863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:55.161 [info] {"source":"oban","duration":3185,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:00.996 [info] {"source":"oban","duration":258,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:32:25.165 [info] {"source":"oban","duration":3096,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:55.170 [info] {"source":"oban","duration":4098,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:00.997 [info] {"source":"oban","duration":278,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:33:25.175 [info] {"source":"oban","duration":4046,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:55.181 [info] {"source":"oban","duration":4579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:00.998 [info] {"source":"oban","duration":334,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:34:25.186 [info] {"source":"oban","duration":4351,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:55.192 [info] {"source":"oban","duration":6040,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:00.999 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:35:25.197 [info] {"source":"oban","duration":3903,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:55.202 [info] {"source":"oban","duration":3340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:01.000 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:36:25.207 [info] {"source":"oban","duration":4777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:55.211 [info] {"source":"oban","duration":2974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:00.001 [info] {"source":"oban","duration":268,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:37:25.216 [info] {"source":"oban","duration":3488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:55.221 [info] {"source":"oban","duration":4766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:00.002 [info] {"source":"oban","duration":286,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:38:25.226 [info] {"source":"oban","duration":3528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:55.230 [info] {"source":"oban","duration":4251,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:39:00.003 [info] {"source":"oban","duration":290,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:39:25.235 [info] {"source":"oban","duration":4235,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:39:55.240 [info] {"source":"oban","duration":3377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:00.004 [info] {"source":"oban","duration":331,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:40:25.244 [info] {"source":"oban","duration":3561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:55.247 [info] {"source":"oban","duration":3093,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:00.005 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:41:25.252 [info] {"source":"oban","duration":4172,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:55.257 [info] {"source":"oban","duration":3731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:00.007 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:42:16.178 [info] {"args":{"id":192},"id":124,"meta":{},"system_time":1761622936178444164,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 23:42:16.191 [debug] QUERY OK source="media_items" db=12.8ms queue=0.1ms idle=1028.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" = ?) [192] 23:42:16.194 [info] User scripts lifecyle file either not present or is empty. Skipping. 23:42:16.197 [debug] QUERY OK source="sources" db=2.5ms idle=1043.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 23:42:16.200 [debug] QUERY OK source="media_profiles" db=2.9ms queue=0.1ms idle=1046.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 23:42:16.205 [debug] QUERY OK source="media_items" db=4.2ms idle=77.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 [192] 23:42:16.211 [debug] QUERY OK source="media_metadata" db=2.5ms idle=30.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [192] 23:42:16.214 [debug] QUERY OK source="media_profiles" db=2.9ms 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] 23:42:16.218 [debug] QUERY OK source="settings" db=2.9ms 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 [] 23:42:16.220 [debug] QUERY OK source="settings" db=2.1ms 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 [] 23:42:16.223 [debug] Running yt-dlp command for action: get_downloadable_status 23:42:16.226 [debug] QUERY OK source="settings" db=2.0ms 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 [] 23:42:16.229 [debug] QUERY OK source="settings" db=2.4ms 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 [] 23:42:16.231 [debug] QUERY OK source="settings" db=2.4ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:42:16.232 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1c/a3/1ca3d90ab88a6b9e729df45a31625e015af054a1dfaa3f4dd23d925117441753.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 23:42:25.263 [info] {"source":"oban","duration":5056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:55.269 [info] {"source":"oban","duration":4771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:00.008 [info] {"source":"oban","duration":329,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:43:15.199 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1c/a3/1ca3d90ab88a6b9e729df45a31625e015af054a1dfaa3f4dd23d925117441753.json --sleep-requests 14 --sleep-interval 12 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks. 23:43:15.199 [error] yt-dlp download error for media item #192: "ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 23:43:15.253 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":192},"id":124,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":59021562,"event":"job:exception","queue_time":294953,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 23:43:25.275 [info] {"source":"oban","duration":4752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:55.280 [info] {"source":"oban","duration":3759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:00.009 [info] {"source":"oban","duration":440,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:44:25.287 [info] {"source":"oban","duration":5288,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:55.291 [info] {"source":"oban","duration":3742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:00.010 [info] {"source":"oban","duration":329,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:45:25.296 [info] {"source":"oban","duration":4967,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:55.302 [info] {"source":"oban","duration":5179,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:00.011 [info] {"source":"oban","duration":265,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:46:25.307 [info] {"source":"oban","duration":4163,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:55.312 [info] {"source":"oban","duration":4145,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:47:00.012 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:47:25.317 [info] {"source":"oban","duration":3248,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:47:55.321 [info] {"source":"oban","duration":3354,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:00.013 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:48:25.325 [info] {"source":"oban","duration":3551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:55.329 [info] {"source":"oban","duration":3592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:00.014 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:49:25.333 [info] {"source":"oban","duration":3300,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:55.337 [info] {"source":"oban","duration":3531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:00.015 [info] {"source":"oban","duration":242,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:50:25.341 [info] {"source":"oban","duration":3645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:55.345 [info] {"source":"oban","duration":3524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:00.016 [info] {"source":"oban","duration":341,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:51:25.348 [info] {"source":"oban","duration":3129,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:55.353 [info] {"source":"oban","duration":3565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:00.017 [info] {"source":"oban","duration":308,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:52:25.357 [info] {"source":"oban","duration":3456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:55.361 [info] {"source":"oban","duration":3924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:00.018 [info] {"source":"oban","duration":291,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:53:25.366 [info] {"source":"oban","duration":3638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:55.370 [info] {"source":"oban","duration":4117,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:00.019 [info] {"source":"oban","duration":307,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:54:25.375 [info] {"source":"oban","duration":3756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:55.380 [info] {"source":"oban","duration":4202,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:00.020 [info] {"source":"oban","duration":277,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:55:25.385 [info] {"source":"oban","duration":4205,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:55.390 [info] {"source":"oban","duration":4055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:00.021 [info] {"source":"oban","duration":287,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:56:25.395 [info] {"source":"oban","duration":3359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:55.399 [info] {"source":"oban","duration":4244,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:00.022 [info] {"source":"oban","duration":308,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:57:25.410 [info] {"source":"oban","duration":9786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:55.416 [info] {"source":"oban","duration":4311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:00.023 [info] {"source":"oban","duration":309,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:58:25.424 [info] {"source":"oban","duration":7397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:55.428 [info] {"source":"oban","duration":3941,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:00.024 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:59:25.434 [info] {"source":"oban","duration":4215,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:55.437 [info] {"source":"oban","duration":3182,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:00.025 [info] {"source":"oban","duration":340,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:00:25.442 [info] {"source":"oban","duration":3725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:55.447 [info] {"source":"oban","duration":3520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:00.026 [info] {"source":"oban","duration":302,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:01:25.451 [info] {"source":"oban","duration":3612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:55.455 [info] {"source":"oban","duration":4044,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:00.027 [info] {"source":"oban","duration":255,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:02:25.460 [info] {"source":"oban","duration":4120,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:55.465 [info] {"source":"oban","duration":3909,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:00.028 [info] {"source":"oban","duration":338,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:03:25.470 [info] {"source":"oban","duration":3635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:55.475 [info] {"source":"oban","duration":3520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:00.029 [info] {"source":"oban","duration":253,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:04:25.479 [info] {"source":"oban","duration":3493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:55.483 [info] {"source":"oban","duration":3922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:05:00.030 [info] {"source":"oban","duration":313,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:05:25.488 [info] {"source":"oban","duration":3924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:05:55.492 [info] {"source":"oban","duration":3222,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:00.031 [info] {"source":"oban","duration":264,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:06:25.497 [info] {"source":"oban","duration":3569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:55.501 [info] {"source":"oban","duration":3482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:00.032 [info] {"source":"oban","duration":296,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:07:25.504 [info] {"source":"oban","duration":3126,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:55.509 [info] {"source":"oban","duration":3515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:00.033 [info] {"source":"oban","duration":317,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:08:25.512 [info] {"source":"oban","duration":3210,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:55.517 [info] {"source":"oban","duration":3853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:09:00.034 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:09:25.522 [info] {"source":"oban","duration":3970,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:09:55.527 [info] {"source":"oban","duration":3266,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:00.035 [info] {"source":"oban","duration":307,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:10:25.531 [info] {"source":"oban","duration":3639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:55.535 [info] {"source":"oban","duration":3552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:00.036 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:11:25.540 [info] {"source":"oban","duration":4239,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:55.544 [info] {"source":"oban","duration":4111,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:12:00.037 [info] {"source":"oban","duration":279,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:12:25.549 [info] {"source":"oban","duration":3340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:12:55.552 [info] {"source":"oban","duration":3296,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:00.038 [info] {"source":"oban","duration":317,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:13:25.556 [info] {"source":"oban","duration":3105,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:55.561 [info] {"source":"oban","duration":3796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:00.039 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:14:25.567 [info] {"source":"oban","duration":4953,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:55.572 [info] {"source":"oban","duration":3916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:00.040 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:15:25.576 [info] {"source":"oban","duration":3046,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:55.581 [info] {"source":"oban","duration":4055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:00.041 [info] {"source":"oban","duration":303,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:16:25.585 [info] {"source":"oban","duration":3079,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:55.590 [info] {"source":"oban","duration":3911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:00.042 [info] {"source":"oban","duration":346,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:17:25.595 [info] {"source":"oban","duration":3774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:55.600 [info] {"source":"oban","duration":3675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:00.043 [info] {"source":"oban","duration":307,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:18:25.604 [info] {"source":"oban","duration":3465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:55.608 [info] {"source":"oban","duration":3865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:00.044 [info] {"source":"oban","duration":292,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:19:25.613 [info] {"source":"oban","duration":3990,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:55.617 [info] {"source":"oban","duration":3138,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:00.045 [info] {"source":"oban","duration":316,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:20:13.600 [info] GET / 00:20:13.601 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 00:20:13.621 [debug] QUERY OK source="settings" db=19.3ms idle=446.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:20:13.625 [debug] QUERY OK source="media_profiles" db=3.5ms queue=0.1ms idle=466.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 00:20:13.628 [debug] QUERY OK source="sources" db=2.6ms idle=470.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 00:20:13.674 [debug] QUERY OK source="media_items" db=46.2ms idle=473.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 00:20:13.680 [debug] QUERY OK source="media_items" db=4.9ms queue=0.1ms idle=146.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 00:20:13.683 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=60.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:20:13.686 [debug] QUERY OK source="settings" db=2.4ms idle=58.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:20:13.690 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=59.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:20:13.695 [debug] QUERY OK source="tasks" db=2.6ms idle=17.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"] 00:20:13.700 [debug] QUERY OK source="media_items" db=3.2ms idle=16.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)) [] 00:20:13.707 [debug] QUERY OK source="media_items" db=6.4ms 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] 00:20:13.710 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=21.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [1, 2] 00:20:13.737 [debug] QUERY OK source="media_items" db=23.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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 00:20:13.743 [debug] QUERY OK source="media_items" db=4.9ms queue=0.1ms idle=42.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] 00:20:13.748 [debug] QUERY OK source="sources" db=4.9ms queue=0.1ms 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" = ?) [2] 00:20:13.750 [info] Sent 200 in 150ms 00:20:23.688 [info] {"args":{"id":192},"id":124,"meta":{},"system_time":1761625223688015717,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 00:20:23.692 [debug] QUERY OK source="media_items" db=3.4ms idle=533.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" = ?) [192] 00:20:23.694 [info] User scripts lifecyle file either not present or is empty. Skipping. 00:20:23.697 [debug] QUERY OK source="sources" db=2.6ms idle=539.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 00:20:23.700 [debug] QUERY OK source="media_profiles" db=2.5ms idle=542.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:20:23.704 [debug] QUERY OK source="media_items" db=3.9ms idle=63.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 [192] 00:20:23.710 [debug] QUERY OK source="media_metadata" db=2.3ms idle=20.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [192] 00:20:23.713 [debug] QUERY OK source="media_profiles" db=2.6ms idle=19.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:20:23.717 [debug] QUERY OK source="settings" db=2.5ms 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 [] 00:20:23.720 [debug] QUERY OK source="settings" db=2.6ms idle=17.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:20:23.722 [debug] Running yt-dlp command for action: get_downloadable_status 00:20:23.726 [debug] QUERY OK source="settings" db=2.6ms idle=19.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:20:23.729 [debug] QUERY OK source="settings" db=2.7ms 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 [] 00:20:23.732 [debug] QUERY OK source="settings" db=2.3ms 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 [] 00:20:23.732 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b7/f1/b7f1a5709c0b6a25df356be50baa0a591c16722798f9a0d8cdf70036f4d4afe3.json --sleep-requests 12 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 00:20:25.623 [info] {"source":"oban","duration":4523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:55.629 [info] {"source":"oban","duration":5387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:00.046 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:21:14.858 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b7/f1/b7f1a5709c0b6a25df356be50baa0a591c16722798f9a0d8cdf70036f4d4afe3.json --sleep-requests 12 --sleep-interval 11 --sleep-subtitles 13 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks. 00:21:14.858 [error] yt-dlp download error for media item #192: "ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 00:21:14.925 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":192},"id":124,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":51171339,"event":"job:exception","queue_time":415564,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 00:21:25.634 [info] {"source":"oban","duration":4795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:55.640 [info] {"source":"oban","duration":4509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:00.047 [info] {"source":"oban","duration":329,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:22:25.644 [info] {"source":"oban","duration":3291,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:55.648 [info] {"source":"oban","duration":3966,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:00.048 [info] {"source":"oban","duration":314,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:23:03.724 [info] GET /.git/config 00:23:03.728 [debug] QUERY OK source="settings" db=3.1ms idle=569.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:23:03.730 [debug] QUERY OK source="settings" db=2.3ms 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 [] 00:23:03.730 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:23:03.731 [error] #PID<0.6944.0> running PinchflatWeb.Endpoint (connection #PID<0.6943.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com: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.6943.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 56126}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Linux; Android 9; RMX1805) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.143 Mobile Safari/537.36", "x-forwarded-for" => "13.217.209.78", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "13.217.209.78" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.6944.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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-charset", "utf-8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Linux; Android 9; RMX1805) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.143 Mobile Safari/537.36"}, {"x-forwarded-for", "13.217.209.78"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "13.217.209.78"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHKM8_g0RslpSVkAAKph"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6943.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 56126}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Linux; Android 9; RMX1805) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.143 Mobile Safari/537.36", "x-forwarded-for" => "13.217.209.78", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "13.217.209.78" }, 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.6943.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 56126}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Linux; Android 9; RMX1805) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.143 Mobile Safari/537.36", "x-forwarded-for" => "13.217.209.78", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "13.217.209.78" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.6944.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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-charset", "utf-8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat (truncated) 00:23:25.654 [info] {"source":"oban","duration":4930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:55.659 [info] {"source":"oban","duration":3516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:00.049 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:24:25.664 [info] {"source":"oban","duration":4310,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:55.668 [info] {"source":"oban","duration":3539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:25:00.050 [info] {"source":"oban","duration":480,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:25:25.672 [info] {"source":"oban","duration":3347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:25:55.676 [info] {"source":"oban","duration":3698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:00.051 [info] {"source":"oban","duration":336,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:26:25.681 [info] {"source":"oban","duration":3629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:55.687 [info] {"source":"oban","duration":6210,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:00.052 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:27:25.692 [info] {"source":"oban","duration":3585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:55.696 [info] {"source":"oban","duration":3900,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:28:00.053 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:28:25.700 [info] {"source":"oban","duration":3082,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:28:55.704 [info] {"source":"oban","duration":3111,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:00.053 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:29:25.709 [info] {"source":"oban","duration":3913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:55.714 [info] {"source":"oban","duration":4056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:30:00.055 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:30:25.719 [info] {"source":"oban","duration":3492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:30:55.723 [info] {"source":"oban","duration":4004,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:00.056 [info] {"source":"oban","duration":437,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:31:25.727 [info] {"source":"oban","duration":3267,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:55.732 [info] {"source":"oban","duration":4120,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:32:00.056 [info] {"source":"oban","duration":275,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:32:25.737 [info] {"source":"oban","duration":3849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:32:55.742 [info] {"source":"oban","duration":3670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:00.058 [info] {"source":"oban","duration":299,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:33:25.746 [info] {"source":"oban","duration":3411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:55.750 [info] {"source":"oban","duration":3700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:00.059 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:34:25.754 [info] {"source":"oban","duration":3390,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:55.758 [info] {"source":"oban","duration":3326,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:35:00.060 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:35:25.760 [info] {"source":"oban","duration":2156,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:35:55.764 [info] {"source":"oban","duration":3177,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:36:00.062 [info] {"source":"oban","duration":285,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:36:25.768 [info] {"source":"oban","duration":3012,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:36:55.774 [info] {"source":"oban","duration":4185,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:00.063 [info] {"source":"oban","duration":269,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:37:25.778 [info] {"source":"oban","duration":3996,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:55.782 [info] {"source":"oban","duration":3009,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:00.064 [info] {"source":"oban","duration":293,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:38:25.787 [info] {"source":"oban","duration":4092,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:55.791 [info] {"source":"oban","duration":3171,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:39:00.065 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:39:25.796 [info] {"source":"oban","duration":3714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:39:55.802 [info] {"source":"oban","duration":4423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:00.066 [info] {"source":"oban","duration":470,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:40:25.806 [info] {"source":"oban","duration":3316,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:55.810 [info] {"source":"oban","duration":4039,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:00.067 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:41:25.815 [info] {"source":"oban","duration":3406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:55.819 [info] {"source":"oban","duration":3432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:00.068 [info] {"source":"oban","duration":298,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:42:25.823 [info] {"source":"oban","duration":4043,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:55.828 [info] {"source":"oban","duration":3449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:00.069 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:43:25.832 [info] {"source":"oban","duration":3684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:55.837 [info] {"source":"oban","duration":3458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:00.070 [info] {"source":"oban","duration":303,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:44:25.841 [info] {"source":"oban","duration":3459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:55.845 [info] {"source":"oban","duration":3439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:45:00.071 [info] {"source":"oban","duration":332,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:45:25.849 [info] {"source":"oban","duration":3983,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:45:55.854 [info] {"source":"oban","duration":4113,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:00.072 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:46:25.859 [info] {"source":"oban","duration":3565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:55.862 [info] {"source":"oban","duration":3260,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:00.073 [info] {"source":"oban","duration":308,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:47:25.867 [info] {"source":"oban","duration":3581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:55.871 [info] {"source":"oban","duration":3923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:00.074 [info] {"source":"oban","duration":276,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:48:25.876 [info] {"source":"oban","duration":3361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:55.880 [info] {"source":"oban","duration":4135,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:49:00.075 [info] {"source":"oban","duration":324,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:49:25.885 [info] {"source":"oban","duration":3654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:49:55.889 [info] {"source":"oban","duration":3976,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:00.076 [info] {"source":"oban","duration":325,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:50:25.894 [info] {"source":"oban","duration":4011,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:55.899 [info] {"source":"oban","duration":3672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:00.077 [info] {"source":"oban","duration":291,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:51:25.903 [info] {"source":"oban","duration":3627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:55.907 [info] {"source":"oban","duration":3503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:00.078 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:52:25.911 [info] {"source":"oban","duration":4116,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:49.259 [info] GET /.git/config 00:52:49.289 [debug] QUERY OK source="settings" db=21.4ms idle=740.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:49.292 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=131.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:52:49.292 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:52:49.293 [error] #PID<0.7079.0> running PinchflatWeb.Endpoint (connection #PID<0.7078.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com: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.7078.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49374}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.1.17) Gecko/20110123 (like Firefox/3.x) SeaMonkey/2.0.12", "x-forwarded-for" => "213.209.157.244", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "213.209.157.244" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.7079.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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-charset", "utf-8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.1.17) Gecko/20110123 (like Firefox/3.x) SeaMonkey/2.0.12"}, {"x-forwarded-for", "213.209.157.244"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "213.209.157.244"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHKOk7Jh2vamIBAAALDh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7078.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49374}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.1.17) Gecko/20110123 (like Firefox/3.x) SeaMonkey/2.0.12", "x-forwarded-for" => "213.209.157.244", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "213.209.157.244" }, 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.7078.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 49374}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-charset" => "utf-8", "accept-encoding" => "gzip", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.1.17) Gecko/20110123 (like Firefox/3.x) SeaMonkey/2.0.12", "x-forwarded-for" => "213.209.157.244", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "213.209.157.244" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.7079.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.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept-charset", "utf-8"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.home.johnhollowell. (truncated) 00:52:55.915 [info] {"source":"oban","duration":3304,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:00.079 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:53:25.920 [info] {"source":"oban","duration":3650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:55.924 [info] {"source":"oban","duration":3660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:00.080 [info] {"source":"oban","duration":287,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:54:25.929 [info] {"source":"oban","duration":3381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:55.933 [info] {"source":"oban","duration":3497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:55:00.080 [info] {"source":"oban","duration":253,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:55:25.937 [info] {"source":"oban","duration":3528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:55:55.941 [info] {"source":"oban","duration":3443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:56:00.082 [info] {"source":"oban","duration":287,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:56:25.945 [info] {"source":"oban","duration":3328,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:56:55.949 [info] {"source":"oban","duration":3541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:00.083 [info] {"source":"oban","duration":344,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:57:25.953 [info] {"source":"oban","duration":3545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:55.957 [info] {"source":"oban","duration":3348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:58:00.084 [info] {"source":"oban","duration":302,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:58:19.472 [debug] Tzdata polling for update. 00:58:19.753 [debug] Tzdata polling shows the loaded tz database is up to date. 00:58:25.961 [info] {"source":"oban","duration":3994,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:58:55.965 [info] {"source":"oban","duration":3032,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:00.085 [info] {"source":"oban","duration":305,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:59:25.970 [info] {"source":"oban","duration":4054,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:55.975 [info] {"source":"oban","duration":3742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:00.086 [info] {"source":"oban","duration":330,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:00:25.980 [info] {"source":"oban","duration":3891,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:55.985 [info] {"source":"oban","duration":3702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:00.087 [info] {"source":"oban","duration":278,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:01:25.989 [info] {"source":"oban","duration":3097,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:55.994 [info] {"source":"oban","duration":3683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:00.088 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:02:25.999 [info] {"source":"oban","duration":3690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:56.002 [info] {"source":"oban","duration":3222,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:00.089 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:03:26.007 [info] {"source":"oban","duration":3280,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:56.011 [info] {"source":"oban","duration":3884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:00.090 [info] {"source":"oban","duration":260,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:04:26.017 [info] {"source":"oban","duration":4345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:56.021 [info] {"source":"oban","duration":3662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:05:00.091 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:05:26.025 [info] {"source":"oban","duration":3705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:05:56.029 [info] {"source":"oban","duration":3455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:00.092 [info] {"source":"oban","duration":326,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:06:26.033 [info] {"source":"oban","duration":3257,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:56.036 [info] {"source":"oban","duration":3251,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:00.092 [info] {"source":"oban","duration":236,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:07:26.040 [info] {"source":"oban","duration":3158,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:56.045 [info] {"source":"oban","duration":3786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:00.094 [info] {"source":"oban","duration":243,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:08:26.051 [info] {"source":"oban","duration":4790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:56.056 [info] {"source":"oban","duration":4130,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:00.095 [info] {"source":"oban","duration":260,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:09:26.060 [info] {"source":"oban","duration":3223,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:56.067 [info] {"source":"oban","duration":5360,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:00.096 [info] {"source":"oban","duration":340,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:10:26.070 [info] {"source":"oban","duration":3271,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:56.075 [info] {"source":"oban","duration":3343,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:00.097 [info] {"source":"oban","duration":303,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:11:26.080 [info] {"source":"oban","duration":5237,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:56.085 [info] {"source":"oban","duration":3918,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:00.098 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:12:26.096 [info] {"source":"oban","duration":10148,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:56.101 [info] {"source":"oban","duration":3497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:00.099 [info] {"source":"oban","duration":330,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:13:26.104 [info] {"source":"oban","duration":3194,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:56.109 [info] {"source":"oban","duration":3767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:00.100 [info] {"source":"oban","duration":284,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:14:26.114 [info] {"source":"oban","duration":3507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:56.128 [info] {"source":"oban","duration":13784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:15:00.101 [info] {"source":"oban","duration":294,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:15:26.133 [info] {"source":"oban","duration":3562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:15:56.142 [info] {"source":"oban","duration":8804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:00.102 [info] {"source":"oban","duration":314,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:16:26.150 [info] {"source":"oban","duration":6484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:56.156 [info] {"source":"oban","duration":4434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:17:00.103 [info] {"source":"oban","duration":521,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:17:26.160 [info] {"source":"oban","duration":4171,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:17:56.165 [info] {"source":"oban","duration":3573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:00.104 [info] {"source":"oban","duration":301,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:18:26.172 [info] {"source":"oban","duration":6847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:56.193 [info] {"source":"oban","duration":19955,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:00.105 [info] {"source":"oban","duration":292,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:19:26.198 [info] {"source":"oban","duration":3634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:56.202 [info] {"source":"oban","duration":3767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:00.106 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:20:26.207 [info] {"source":"oban","duration":3994,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:56.219 [info] {"source":"oban","duration":10705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:00.108 [info] {"source":"oban","duration":280,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:21:26.224 [info] {"source":"oban","duration":4083,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:56.229 [info] {"source":"oban","duration":3541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:00.108 [info] {"source":"oban","duration":243,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:22:26.232 [info] {"source":"oban","duration":3233,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:56.239 [info] {"source":"oban","duration":6136,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:23:00.110 [info] {"source":"oban","duration":298,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:23:26.243 [info] {"source":"oban","duration":3132,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:23:56.248 [info] {"source":"oban","duration":4147,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:00.111 [info] {"source":"oban","duration":290,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:24:26.254 [info] {"source":"oban","duration":4838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:56.259 [info] {"source":"oban","duration":4037,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:00.112 [info] {"source":"oban","duration":297,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:25:26.264 [info] {"source":"oban","duration":4134,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:56.269 [info] {"source":"oban","duration":3325,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:00.114 [info] {"source":"oban","duration":1513,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:26:26.273 [info] {"source":"oban","duration":3830,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:56.278 [info] {"source":"oban","duration":3909,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:00.115 [info] {"source":"oban","duration":334,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:27:26.283 [info] {"source":"oban","duration":4126,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:56.288 [info] {"source":"oban","duration":3279,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:00.116 [info] {"source":"oban","duration":253,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:28:26.293 [info] {"source":"oban","duration":4656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:56.300 [info] {"source":"oban","duration":3764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:00.117 [info] {"source":"oban","duration":313,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:29:26.325 [info] {"source":"oban","duration":24057,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:56.332 [info] {"source":"oban","duration":5653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:00.119 [info] {"source":"oban","duration":909,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:30:26.337 [info] {"source":"oban","duration":4332,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:56.344 [info] {"source":"oban","duration":6471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:00.121 [info] {"source":"oban","duration":244,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:31:26.347 [info] {"source":"oban","duration":3226,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:56.355 [info] {"source":"oban","duration":6651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:00.122 [info] {"source":"oban","duration":307,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:32:26.358 [info] {"source":"oban","duration":3154,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:56.366 [info] {"source":"oban","duration":6438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:00.123 [info] {"source":"oban","duration":261,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:33:26.372 [info] {"source":"oban","duration":5657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:56.376 [info] {"source":"oban","duration":3936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:34:00.124 [info] {"source":"oban","duration":315,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:34:26.383 [info] {"source":"oban","duration":5419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:34:30.012 [info] {"args":{"id":192},"id":124,"meta":{},"system_time":1761629670011387149,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:34:30.032 [debug] QUERY OK source="media_items" db=16.9ms queue=0.3ms idle=1792.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" = ?) [192] 01:34:30.035 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:34:30.044 [debug] QUERY OK source="sources" db=8.1ms queue=0.1ms idle=1813.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 01:34:30.050 [debug] QUERY OK source="media_profiles" db=4.5ms queue=1.2ms idle=1256.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:34:30.058 [debug] QUERY OK source="media_items" db=6.5ms queue=0.2ms idle=141.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 [192] 01:34:30.069 [debug] QUERY OK source="media_metadata" db=5.9ms idle=52.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [192] 01:34:30.074 [debug] QUERY OK source="media_profiles" db=4.0ms queue=0.2ms idle=38.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:34:30.094 [debug] QUERY OK source="settings" db=18.3ms idle=31.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:34:30.098 [debug] QUERY OK source="settings" db=3.2ms 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 [] 01:34:30.101 [debug] Running yt-dlp command for action: get_downloadable_status 01:34:30.106 [debug] QUERY OK source="settings" db=2.8ms 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 [] 01:34:30.109 [debug] QUERY OK source="settings" db=2.5ms idle=36.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:34:30.113 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=35.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:34:30.113 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/27/bd/27bd2f379db1130a2d8ae9d1a50c87fedcd8519d98778cf510e24bd41bbaec1a.json --sleep-requests 13 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:34:56.404 [info] {"source":"oban","duration":18328,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:00.125 [info] {"source":"oban","duration":315,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:35:25.492 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/27/bd/27bd2f379db1130a2d8ae9d1a50c87fedcd8519d98778cf510e24bd41bbaec1a.json --sleep-requests 13 --sleep-interval 13 --sleep-subtitles 15 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks. 01:35:25.493 [error] yt-dlp download error for media item #192: "ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 01:35:25.546 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":192},"id":124,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":55482102,"event":"job:exception","queue_time":990224,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:35:26.415 [info] {"source":"oban","duration":10566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:56.420 [info] {"source":"oban","duration":4830,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:00.126 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:36:26.429 [info] {"source":"oban","duration":7874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:56.436 [info] {"source":"oban","duration":5514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:37:00.127 [info] {"source":"oban","duration":329,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:37:26.441 [info] {"source":"oban","duration":5197,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:37:56.446 [info] {"source":"oban","duration":3572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:38:00.129 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:38:26.451 [info] {"source":"oban","duration":5140,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:38:56.456 [info] {"source":"oban","duration":3885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:39:00.130 [info] {"source":"oban","duration":332,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:39:26.469 [info] {"source":"oban","duration":11728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:39:56.496 [info] {"source":"oban","duration":26090,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:40:00.131 [info] {"source":"oban","duration":299,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:40:26.501 [info] {"source":"oban","duration":4055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:40:56.506 [info] {"source":"oban","duration":3677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:41:00.132 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:41:26.515 [info] {"source":"oban","duration":9077,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:41:56.520 [info] {"source":"oban","duration":3678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:42:00.133 [info] {"source":"oban","duration":315,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:42:26.525 [info] {"source":"oban","duration":3554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:42:56.529 [info] {"source":"oban","duration":3291,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:43:00.133 [info] {"source":"oban","duration":240,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:43:26.534 [info] {"source":"oban","duration":4828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:43:56.539 [info] {"source":"oban","duration":3678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:44:00.135 [info] {"source":"oban","duration":487,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:44:26.545 [info] {"source":"oban","duration":4414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:44:56.551 [info] {"source":"oban","duration":3645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:45:00.136 [info] {"source":"oban","duration":311,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:45:26.556 [info] {"source":"oban","duration":3410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:45:56.561 [info] {"source":"oban","duration":4527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:46:00.137 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:46:26.567 [info] {"source":"oban","duration":3740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:46:56.573 [info] {"source":"oban","duration":4995,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:47:00.138 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:47:26.578 [info] {"source":"oban","duration":3813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:47:56.587 [info] {"source":"oban","duration":7706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:48:00.140 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:48:26.600 [info] {"source":"oban","duration":11374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:48:56.606 [info] {"source":"oban","duration":5864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:00.142 [info] {"source":"oban","duration":312,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:49:26.611 [info] {"source":"oban","duration":3313,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:56.617 [info] {"source":"oban","duration":3828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:00.143 [info] {"source":"oban","duration":291,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:50:26.622 [info] {"source":"oban","duration":3745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:56.628 [info] {"source":"oban","duration":4662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:00.145 [info] {"source":"oban","duration":1200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:51:26.632 [info] {"source":"oban","duration":3944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:56.637 [info] {"source":"oban","duration":3912,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:00.148 [info] {"source":"oban","duration":283,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:52:26.641 [info] {"source":"oban","duration":2723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:56.645 [info] {"source":"oban","duration":3862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:00.149 [info] {"source":"oban","duration":337,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:53:26.650 [info] {"source":"oban","duration":3797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:56.656 [info] {"source":"oban","duration":4441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:00.150 [info] {"source":"oban","duration":343,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:54:26.660 [info] {"source":"oban","duration":3399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:56.664 [info] {"source":"oban","duration":3604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:00.151 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:55:26.668 [info] {"source":"oban","duration":3739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:56.676 [info] {"source":"oban","duration":7036,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:00.152 [info] {"source":"oban","duration":336,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:56:26.681 [info] {"source":"oban","duration":3619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:56.685 [info] {"source":"oban","duration":3994,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:00.153 [info] {"source":"oban","duration":489,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:57:26.689 [info] {"source":"oban","duration":3069,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:56.702 [info] {"source":"oban","duration":11890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:00.154 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:58:26.707 [info] {"source":"oban","duration":3518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:56.711 [info] {"source":"oban","duration":3873,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:00.155 [info] {"source":"oban","duration":311,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:59:26.717 [info] {"source":"oban","duration":3412,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:56.720 [info] {"source":"oban","duration":3250,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:00.156 [info] {"source":"oban","duration":331,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:00:26.724 [info] {"source":"oban","duration":3188,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:56.733 [info] {"source":"oban","duration":7550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:00.157 [info] {"source":"oban","duration":300,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:01:26.737 [info] {"source":"oban","duration":3224,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:56.743 [info] {"source":"oban","duration":4308,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:00.158 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:02:26.747 [info] {"source":"oban","duration":3933,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:56.753 [info] {"source":"oban","duration":5142,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:00.159 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:03:26.758 [info] {"source":"oban","duration":3945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:56.763 [info] {"source":"oban","duration":3391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:00.160 [info] {"source":"oban","duration":468,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:04:26.766 [info] {"source":"oban","duration":3065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:56.771 [info] {"source":"oban","duration":3476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:00.161 [info] {"source":"oban","duration":308,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:05:26.775 [info] {"source":"oban","duration":3676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:56.778 [info] {"source":"oban","duration":3080,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:00.162 [info] {"source":"oban","duration":340,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:06:26.783 [info] {"source":"oban","duration":3406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:56.787 [info] {"source":"oban","duration":3589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:00.163 [info] {"source":"oban","duration":285,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:07:26.791 [info] {"source":"oban","duration":3567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:56.795 [info] {"source":"oban","duration":3425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:00.164 [info] {"source":"oban","duration":277,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:08:26.799 [info] {"source":"oban","duration":3472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:56.803 [info] {"source":"oban","duration":3726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:00.165 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:09:26.808 [info] {"source":"oban","duration":3406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:56.812 [info] {"source":"oban","duration":3677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:00.167 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:10:26.816 [info] {"source":"oban","duration":3498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:56.820 [info] {"source":"oban","duration":4198,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:00.168 [info] {"source":"oban","duration":289,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:11:26.825 [info] {"source":"oban","duration":3597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:56.830 [info] {"source":"oban","duration":4341,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:00.169 [info] {"source":"oban","duration":320,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:12:26.834 [info] {"source":"oban","duration":3965,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:56.839 [info] {"source":"oban","duration":3638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:00.170 [info] {"source":"oban","duration":324,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:13:26.843 [info] {"source":"oban","duration":3760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:56.847 [info] {"source":"oban","duration":3133,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:00.171 [info] {"source":"oban","duration":326,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:14:26.857 [info] {"source":"oban","duration":8373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:56.861 [info] {"source":"oban","duration":3859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:00.172 [info] {"source":"oban","duration":295,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:15:26.867 [info] {"source":"oban","duration":4461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:56.871 [info] {"source":"oban","duration":4044,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:00.173 [info] {"source":"oban","duration":292,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:16:26.901 [info] {"source":"oban","duration":28955,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:56.907 [info] {"source":"oban","duration":4650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:00.174 [info] {"source":"oban","duration":475,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:17:26.912 [info] {"source":"oban","duration":3420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:56.916 [info] {"source":"oban","duration":3641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:00.175 [info] {"source":"oban","duration":277,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:18:26.921 [info] {"source":"oban","duration":4328,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:56.925 [info] {"source":"oban","duration":3533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:00.176 [info] {"source":"oban","duration":856,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:19:26.929 [info] {"source":"oban","duration":3438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:56.933 [info] {"source":"oban","duration":3690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:00.178 [info] {"source":"oban","duration":334,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:20:26.938 [info] {"source":"oban","duration":3500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:56.941 [info] {"source":"oban","duration":3168,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:00.180 [info] {"source":"oban","duration":319,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:21:26.947 [info] {"source":"oban","duration":3494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:56.951 [info] {"source":"oban","duration":3520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:00.181 [info] {"source":"oban","duration":315,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:22:26.955 [info] {"source":"oban","duration":3268,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:56.959 [info] {"source":"oban","duration":3521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:00.182 [info] {"source":"oban","duration":335,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:23:26.963 [info] {"source":"oban","duration":3972,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:56.968 [info] {"source":"oban","duration":3695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:00.183 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:24:26.972 [info] {"source":"oban","duration":3141,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:56.977 [info] {"source":"oban","duration":3983,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:00.184 [info] {"source":"oban","duration":531,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:25:26.982 [info] {"source":"oban","duration":3604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:56.986 [info] {"source":"oban","duration":4142,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:00.185 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:26:26.992 [info] {"source":"oban","duration":4322,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:56.996 [info] {"source":"oban","duration":3659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:00.187 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:27:27.000 [info] {"source":"oban","duration":3263,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:57.005 [info] {"source":"oban","duration":4497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:00.188 [info] {"source":"oban","duration":278,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:28:27.009 [info] {"source":"oban","duration":3762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:57.015 [info] {"source":"oban","duration":5166,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:00.189 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:29:27.020 [info] {"source":"oban","duration":4121,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:57.026 [info] {"source":"oban","duration":3738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:00.190 [info] {"source":"oban","duration":326,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:30:27.034 [info] {"source":"oban","duration":6517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:57.038 [info] {"source":"oban","duration":3768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:00.191 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:31:27.043 [info] {"source":"oban","duration":3381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:57.047 [info] {"source":"oban","duration":3799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:00.192 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:32:27.052 [info] {"source":"oban","duration":3560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:57.056 [info] {"source":"oban","duration":3889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:00.193 [info] {"source":"oban","duration":306,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:33:27.061 [info] {"source":"oban","duration":3578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:57.065 [info] {"source":"oban","duration":3925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:34:00.194 [info] {"source":"oban","duration":326,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:34:27.074 [info] {"source":"oban","duration":8043,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:34:57.080 [info] {"source":"oban","duration":4447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:00.195 [info] {"source":"oban","duration":283,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:35:27.085 [info] {"source":"oban","duration":5251,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:57.091 [info] {"source":"oban","duration":4014,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:00.196 [info] {"source":"oban","duration":307,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:36:27.095 [info] {"source":"oban","duration":3985,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:57.100 [info] {"source":"oban","duration":3821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:00.197 [info] {"source":"oban","duration":334,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:37:27.105 [info] {"source":"oban","duration":3269,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:57.109 [info] {"source":"oban","duration":3992,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:00.198 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:38:27.114 [info] {"source":"oban","duration":3955,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:57.119 [info] {"source":"oban","duration":3929,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:00.199 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:39:27.128 [info] {"source":"oban","duration":7646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:57.132 [info] {"source":"oban","duration":3492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:00.200 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:40:27.136 [info] {"source":"oban","duration":3653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:57.141 [info] {"source":"oban","duration":3516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:00.202 [info] {"source":"oban","duration":279,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:41:27.147 [info] {"source":"oban","duration":5592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:57.151 [info] {"source":"oban","duration":3361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:00.203 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:42:27.155 [info] {"source":"oban","duration":3621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:57.158 [info] {"source":"oban","duration":3136,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:00.204 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:43:27.164 [info] {"source":"oban","duration":4345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:57.168 [info] {"source":"oban","duration":3293,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:00.205 [info] {"source":"oban","duration":220,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:44:27.172 [info] {"source":"oban","duration":3476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:57.182 [info] {"source":"oban","duration":9331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:00.207 [info] {"source":"oban","duration":277,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:45:27.187 [info] {"source":"oban","duration":4213,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:57.191 [info] {"source":"oban","duration":3629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:00.209 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:46:27.196 [info] {"source":"oban","duration":3713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:57.200 [info] {"source":"oban","duration":3766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:00.210 [info] {"source":"oban","duration":294,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:47:27.209 [info] {"source":"oban","duration":7327,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:57.213 [info] {"source":"oban","duration":3597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:00.211 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:48:27.217 [info] {"source":"oban","duration":3977,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:57.222 [info] {"source":"oban","duration":3363,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:00.215 [info] {"source":"oban","duration":454,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:49:27.226 [info] {"source":"oban","duration":3923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:57.231 [info] {"source":"oban","duration":3920,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:00.216 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:50:27.236 [info] {"source":"oban","duration":3581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:57.241 [info] {"source":"oban","duration":4963,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:00.217 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:51:27.248 [info] {"source":"oban","duration":5152,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:57.255 [info] {"source":"oban","duration":6726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:00.219 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:52:27.260 [info] {"source":"oban","duration":3780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:57.266 [info] {"source":"oban","duration":4611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:00.221 [info] {"source":"oban","duration":1606,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:53:27.270 [info] {"source":"oban","duration":3369,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:57.274 [info] {"source":"oban","duration":4230,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:00.227 [info] {"source":"oban","duration":3562,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:54:27.282 [info] {"source":"oban","duration":7034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:57.287 [info] {"source":"oban","duration":3803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:00.229 [info] {"source":"oban","duration":332,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:55:27.292 [info] {"source":"oban","duration":3653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:57.297 [info] {"source":"oban","duration":5228,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:00.230 [info] {"source":"oban","duration":314,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:56:27.302 [info] {"source":"oban","duration":3632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:57.306 [info] {"source":"oban","duration":3796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:00.231 [info] {"source":"oban","duration":330,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:57:27.315 [info] {"source":"oban","duration":7885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:57.345 [info] {"source":"oban","duration":29259,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:00.232 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:58:27.349 [info] {"source":"oban","duration":3114,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:57.360 [info] {"source":"oban","duration":10079,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:00.233 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:59:27.364 [info] {"source":"oban","duration":3277,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:57.369 [info] {"source":"oban","duration":3638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:00.235 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:00:27.373 [info] {"source":"oban","duration":4099,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:57.378 [info] {"source":"oban","duration":3681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:00.236 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:01:27.394 [info] {"source":"oban","duration":16054,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:57.400 [info] {"source":"oban","duration":4638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:00.237 [info] {"source":"oban","duration":328,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:02:27.405 [info] {"source":"oban","duration":3660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:57.409 [info] {"source":"oban","duration":3937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:00.238 [info] {"source":"oban","duration":294,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:03:27.414 [info] {"source":"oban","duration":3917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:57.419 [info] {"source":"oban","duration":3386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:00.239 [info] {"source":"oban","duration":331,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:04:27.426 [info] {"source":"oban","duration":6645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:57.430 [info] {"source":"oban","duration":3747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:00.240 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:05:27.456 [info] {"source":"oban","duration":24738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:57.461 [info] {"source":"oban","duration":5173,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:00.241 [info] {"source":"oban","duration":312,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:06:27.466 [info] {"source":"oban","duration":3255,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:57.470 [info] {"source":"oban","duration":3353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:00.242 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:07:27.474 [info] {"source":"oban","duration":3586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:57.478 [info] {"source":"oban","duration":3900,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:00.243 [info] {"source":"oban","duration":231,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:08:27.483 [info] {"source":"oban","duration":4023,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:57.488 [info] {"source":"oban","duration":3666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:00.244 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:09:27.492 [info] {"source":"oban","duration":3472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:57.496 [info] {"source":"oban","duration":3302,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:00.245 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:10:27.500 [info] {"source":"oban","duration":3371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:57.504 [info] {"source":"oban","duration":3605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:00.246 [info] {"source":"oban","duration":280,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:11:27.529 [info] {"source":"oban","duration":25125,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:57.534 [info] {"source":"oban","duration":3664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:00.247 [info] {"source":"oban","duration":320,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:12:27.538 [info] {"source":"oban","duration":4190,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:57.543 [info] {"source":"oban","duration":3735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:00.248 [info] {"source":"oban","duration":259,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:13:27.548 [info] {"source":"oban","duration":5227,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:57.553 [info] {"source":"oban","duration":4112,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:00.249 [info] {"source":"oban","duration":366,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:14:27.558 [info] {"source":"oban","duration":3595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:57.562 [info] {"source":"oban","duration":3542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:00.250 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:15:27.566 [info] {"source":"oban","duration":3720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:57.573 [info] {"source":"oban","duration":5445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:00.253 [info] {"source":"oban","duration":299,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:16:27.580 [info] {"source":"oban","duration":7123,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:57.585 [info] {"source":"oban","duration":3789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:00.254 [info] {"source":"oban","duration":258,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:17:27.590 [info] {"source":"oban","duration":3655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:57.596 [info] {"source":"oban","duration":4496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:00.255 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:18:27.600 [info] {"source":"oban","duration":3505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:57.604 [info] {"source":"oban","duration":3840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:00.256 [info] {"source":"oban","duration":341,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:19:27.609 [info] {"source":"oban","duration":3375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:57.613 [info] {"source":"oban","duration":3527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:00.258 [info] {"source":"oban","duration":265,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:20:27.617 [info] {"source":"oban","duration":3667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:57.622 [info] {"source":"oban","duration":3072,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:00.259 [info] {"source":"oban","duration":292,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:21:27.627 [info] {"source":"oban","duration":3747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:57.632 [info] {"source":"oban","duration":4207,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:00.260 [info] {"source":"oban","duration":867,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:22:27.637 [info] {"source":"oban","duration":3985,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:57.644 [info] {"source":"oban","duration":5644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:00.262 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:23:27.655 [info] {"source":"oban","duration":9787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:57.662 [info] {"source":"oban","duration":6248,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:00.263 [info] {"source":"oban","duration":294,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:24:27.668 [info] {"source":"oban","duration":4314,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:57.672 [info] {"source":"oban","duration":3583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:00.265 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:25:27.676 [info] {"source":"oban","duration":3375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:57.680 [info] {"source":"oban","duration":3625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:00.267 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:26:27.690 [info] {"source":"oban","duration":9558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:57.695 [info] {"source":"oban","duration":3208,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:00.268 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:27:27.699 [info] {"source":"oban","duration":3197,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:57.703 [info] {"source":"oban","duration":3638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:00.269 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:28:27.708 [info] {"source":"oban","duration":3321,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:57.713 [info] {"source":"oban","duration":4309,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:00.270 [info] {"source":"oban","duration":308,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:29:27.717 [info] {"source":"oban","duration":3668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:57.723 [info] {"source":"oban","duration":4316,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:00.271 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:30:27.728 [info] {"source":"oban","duration":3254,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:57.732 [info] {"source":"oban","duration":4238,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:00.272 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:31:27.737 [info] {"source":"oban","duration":3416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:57.742 [info] {"source":"oban","duration":4006,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:00.273 [info] {"source":"oban","duration":314,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:32:27.747 [info] {"source":"oban","duration":3422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:57.751 [info] {"source":"oban","duration":3752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:00.274 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:33:27.756 [info] {"source":"oban","duration":3592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:57.760 [info] {"source":"oban","duration":4069,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:00.275 [info] {"source":"oban","duration":323,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:34:27.766 [info] {"source":"oban","duration":4694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:57.771 [info] {"source":"oban","duration":3317,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:00.276 [info] {"source":"oban","duration":268,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:35:27.775 [info] {"source":"oban","duration":3926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:57.780 [info] {"source":"oban","duration":3697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:00.277 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:36:27.785 [info] {"source":"oban","duration":3683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:57.791 [info] {"source":"oban","duration":4229,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:00.278 [info] {"source":"oban","duration":317,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:37:27.795 [info] {"source":"oban","duration":3842,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:57.800 [info] {"source":"oban","duration":3448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:00.279 [info] {"source":"oban","duration":326,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:38:27.804 [info] {"source":"oban","duration":4083,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:57.809 [info] {"source":"oban","duration":3514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:00.280 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:39:27.813 [info] {"source":"oban","duration":3723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:57.819 [info] {"source":"oban","duration":4380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:00.281 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:40:27.823 [info] {"source":"oban","duration":3367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:57.827 [info] {"source":"oban","duration":3498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:00.283 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:41:27.831 [info] {"source":"oban","duration":3566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:57.835 [info] {"source":"oban","duration":3647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:00.284 [info] {"source":"oban","duration":304,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:42:27.838 [info] {"source":"oban","duration":2927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:57.843 [info] {"source":"oban","duration":3615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:00.285 [info] {"source":"oban","duration":286,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:43:27.851 [info] {"source":"oban","duration":7886,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:57.856 [info] {"source":"oban","duration":3868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:00.286 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:44:27.865 [info] {"source":"oban","duration":7439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:57.869 [info] {"source":"oban","duration":3672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:00.291 [info] {"source":"oban","duration":479,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:45:27.873 [info] {"source":"oban","duration":3491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:57.877 [info] {"source":"oban","duration":3674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:00.292 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:46:27.881 [info] {"source":"oban","duration":3266,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:57.885 [info] {"source":"oban","duration":3256,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:00.293 [info] {"source":"oban","duration":260,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:47:27.890 [info] {"source":"oban","duration":4637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:57.898 [info] {"source":"oban","duration":7494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:00.294 [info] {"source":"oban","duration":279,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:48:27.901 [info] {"source":"oban","duration":3231,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:57.906 [info] {"source":"oban","duration":3729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:00.295 [info] {"source":"oban","duration":475,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:49:27.911 [info] {"source":"oban","duration":4171,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:57.916 [info] {"source":"oban","duration":3376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:00.296 [info] {"source":"oban","duration":335,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:50:27.932 [info] {"source":"oban","duration":16250,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:57.937 [info] {"source":"oban","duration":3780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:00.297 [info] {"source":"oban","duration":289,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:51:27.942 [info] {"source":"oban","duration":3321,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:57.946 [info] {"source":"oban","duration":3944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:00.298 [info] {"source":"oban","duration":315,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:52:27.951 [info] {"source":"oban","duration":3801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:57.956 [info] {"source":"oban","duration":3653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:00.299 [info] {"source":"oban","duration":300,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:53:27.970 [info] {"source":"oban","duration":13549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:57.976 [info] {"source":"oban","duration":5967,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:00.300 [info] {"source":"oban","duration":543,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:54:27.981 [info] {"source":"oban","duration":3950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:57.986 [info] {"source":"oban","duration":3389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:00.301 [info] {"source":"oban","duration":305,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:55:27.996 [info] {"source":"oban","duration":9732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:58.001 [info] {"source":"oban","duration":3953,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:00.302 [info] {"source":"oban","duration":304,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:56:28.006 [info] {"source":"oban","duration":3296,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:47.330 [info] {"args":{"id":192},"id":124,"meta":{},"system_time":1761638207330358450,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:56:47.349 [debug] QUERY OK source="media_items" db=16.3ms queue=0.2ms idle=1769.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" = ?) [192] 03:56:47.355 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:56:47.359 [debug] QUERY OK source="sources" db=3.4ms queue=0.2ms idle=1792.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 03:56:47.363 [debug] QUERY OK source="media_profiles" db=3.0ms queue=0.1ms idle=1197.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:56:47.368 [debug] QUERY OK source="media_items" db=4.4ms idle=100.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 [192] 03:56:47.375 [debug] QUERY OK source="media_metadata" db=3.0ms idle=42.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [192] 03:56:47.378 [debug] QUERY OK source="media_profiles" db=2.7ms idle=26.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 03:56:47.399 [debug] QUERY OK source="settings" db=20.1ms 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 [] 03:56:47.404 [debug] QUERY OK source="settings" db=4.4ms 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 [] 03:56:47.407 [debug] Running yt-dlp command for action: get_downloadable_status 03:56:47.413 [debug] QUERY OK source="settings" db=4.2ms 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 [] 03:56:47.416 [debug] QUERY OK source="settings" db=2.9ms queue=0.1ms idle=38.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:56:47.420 [debug] QUERY OK source="settings" db=3.2ms queue=0.1ms idle=38.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 03:56:47.421 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a0/33/a0332a50ab0b20c73a6b5f4aedb1772e265b2e6c8d836ef4318abdc97bff0c02.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 03:56:58.046 [info] {"source":"oban","duration":40085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:00.303 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:57:28.053 [info] {"source":"oban","duration":5422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:51.194 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXYjesEend0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a0/33/a0332a50ab0b20c73a6b5f4aedb1772e265b2e6c8d836ef4318abdc97bff0c02.json --sleep-requests 15 --sleep-interval 15 --sleep-subtitles 12 --restrict-filenames --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks. 03:57:51.194 [error] yt-dlp download error for media item #192: "ERROR: [youtube] KXYjesEend0: Join this channel to get access to members-only content like this video, and other exclusive perks.\n" 03:57:51.284 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":192},"id":124,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":63864729,"event":"job:exception","queue_time":713182,"attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 03:57:58.058 [info] {"source":"oban","duration":4522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:00.305 [info] {"source":"oban","duration":1034,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:58:28.064 [info] {"source":"oban","duration":6150,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:58.071 [info] {"source":"oban","duration":5320,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:00.307 [info] {"source":"oban","duration":309,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:59:28.076 [info] {"source":"oban","duration":4868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:58.082 [info] {"source":"oban","duration":4764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:00.308 [info] {"source":"oban","duration":267,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:00:28.086 [info] {"source":"oban","duration":3189,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:58.095 [info] {"source":"oban","duration":7303,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:00.309 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:01:28.099 [info] {"source":"oban","duration":3556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:58.104 [info] {"source":"oban","duration":5052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:00.311 [info] {"source":"oban","duration":337,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:02:28.109 [info] {"source":"oban","duration":3559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:58.112 [info] {"source":"oban","duration":3280,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:00.312 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:03:28.117 [info] {"source":"oban","duration":3373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:58.121 [info] {"source":"oban","duration":3880,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:00.313 [info] {"source":"oban","duration":298,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:04:28.126 [info] {"source":"oban","duration":3795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:58.131 [info] {"source":"oban","duration":3347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:00.314 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:05:28.135 [info] {"source":"oban","duration":3769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:58.142 [info] {"source":"oban","duration":5307,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:00.315 [info] {"source":"oban","duration":433,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:06:28.145 [info] {"source":"oban","duration":3153,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:58.149 [info] {"source":"oban","duration":3093,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:00.316 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:07:28.154 [info] {"source":"oban","duration":3484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:58.159 [info] {"source":"oban","duration":3802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:00.318 [info] {"source":"oban","duration":284,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:08:28.164 [info] {"source":"oban","duration":3774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:58.172 [info] {"source":"oban","duration":7201,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:00.319 [info] {"source":"oban","duration":306,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:09:28.176 [info] {"source":"oban","duration":3120,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:58.181 [info] {"source":"oban","duration":3598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:00.320 [info] {"source":"oban","duration":828,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:10:28.186 [info] {"source":"oban","duration":4981,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:58.193 [info] {"source":"oban","duration":5766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:00.326 [info] {"source":"oban","duration":4791,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:11:28.198 [info] {"source":"oban","duration":3533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:58.206 [info] {"source":"oban","duration":6508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:00.328 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:12:28.211 [info] {"source":"oban","duration":3602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:58.215 [info] {"source":"oban","duration":3299,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:00.329 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:13:28.219 [info] {"source":"oban","duration":3773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:58.225 [info] {"source":"oban","duration":4701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:00.330 [info] {"source":"oban","duration":346,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:14:28.229 [info] {"source":"oban","duration":3668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:58.234 [info] {"source":"oban","duration":4678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:00.331 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:15:28.239 [info] {"source":"oban","duration":4755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:58.244 [info] {"source":"oban","duration":3906,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:00.332 [info] {"source":"oban","duration":287,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:16:28.250 [info] {"source":"oban","duration":5265,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:58.258 [info] {"source":"oban","duration":5649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:00.335 [info] {"source":"oban","duration":303,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:17:28.266 [info] {"source":"oban","duration":7693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:58.274 [info] {"source":"oban","duration":7244,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:00.336 [info] {"source":"oban","duration":1116,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:18:28.279 [info] {"source":"oban","duration":3818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:58.284 [info] {"source":"oban","duration":3625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:00.338 [info] {"source":"oban","duration":290,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:19:28.288 [info] {"source":"oban","duration":3799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:58.293 [info] {"source":"oban","duration":4075,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:00.339 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:20:28.302 [info] {"source":"oban","duration":7821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:58.307 [info] {"source":"oban","duration":3410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:00.340 [info] {"source":"oban","duration":338,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:21:28.313 [info] {"source":"oban","duration":5421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:58.317 [info] {"source":"oban","duration":3523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:00.341 [info] {"source":"oban","duration":341,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:22:28.322 [info] {"source":"oban","duration":3215,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:58.326 [info] {"source":"oban","duration":3914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:00.343 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:23:28.331 [info] {"source":"oban","duration":3500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:58.335 [info] {"source":"oban","duration":3407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:00.345 [info] {"source":"oban","duration":274,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:24:28.339 [info] {"source":"oban","duration":3256,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:58.353 [info] {"source":"oban","duration":13448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:00.346 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:25:28.357 [info] {"source":"oban","duration":3866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:58.364 [info] {"source":"oban","duration":5503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:00.348 [info] {"source":"oban","duration":283,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:26:28.368 [info] {"source":"oban","duration":3492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:58.373 [info] {"source":"oban","duration":4514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:00.349 [info] {"source":"oban","duration":291,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:27:28.377 [info] {"source":"oban","duration":3348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:58.393 [info] {"source":"oban","duration":15699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:00.357 [info] {"source":"oban","duration":2010,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:28:28.397 [info] {"source":"oban","duration":3768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:58.401 [info] {"source":"oban","duration":3232,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:00.358 [info] {"source":"oban","duration":273,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:29:28.406 [info] {"source":"oban","duration":3294,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:58.409 [info] {"source":"oban","duration":2911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:00.359 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:30:28.417 [info] {"source":"oban","duration":7088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:58.422 [info] {"source":"oban","duration":3330,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:00.360 [info] {"source":"oban","duration":313,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:31:28.425 [info] {"source":"oban","duration":2541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:58.429 [info] {"source":"oban","duration":3582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:00.361 [info] {"source":"oban","duration":251,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:32:28.433 [info] {"source":"oban","duration":3429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:58.443 [info] {"source":"oban","duration":9763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:00.363 [info] {"source":"oban","duration":1384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:33:28.448 [info] {"source":"oban","duration":3478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:58.452 [info] {"source":"oban","duration":3359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:00.365 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:34:28.456 [info] {"source":"oban","duration":3602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:58.459 [info] {"source":"oban","duration":3065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:00.366 [info] {"source":"oban","duration":316,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:35:28.464 [info] {"source":"oban","duration":3395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:58.468 [info] {"source":"oban","duration":3637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:00.367 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:36:28.482 [info] {"source":"oban","duration":14214,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:58.487 [info] {"source":"oban","duration":3600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:00.369 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:37:28.491 [info] {"source":"oban","duration":3311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:58.495 [info] {"source":"oban","duration":4215,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:00.371 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:38:28.500 [info] {"source":"oban","duration":3576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:58.504 [info] {"source":"oban","duration":3651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:00.372 [info] {"source":"oban","duration":285,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:39:28.509 [info] {"source":"oban","duration":4120,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:58.514 [info] {"source":"oban","duration":4131,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:00.373 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:40:28.519 [info] {"source":"oban","duration":4042,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:58.524 [info] {"source":"oban","duration":3965,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:00.374 [info] {"source":"oban","duration":933,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:41:28.528 [info] {"source":"oban","duration":2988,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:58.533 [info] {"source":"oban","duration":3439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:00.376 [info] {"source":"oban","duration":255,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:42:28.537 [info] {"source":"oban","duration":3610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:58.542 [info] {"source":"oban","duration":5035,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:00.377 [info] {"source":"oban","duration":1100,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:43:28.547 [info] {"source":"oban","duration":3472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:58.551 [info] {"source":"oban","duration":3689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:00.379 [info] {"source":"oban","duration":339,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:44:28.561 [info] {"source":"oban","duration":10027,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:58.567 [info] {"source":"oban","duration":4948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:00.382 [info] {"source":"oban","duration":904,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:45:28.572 [info] {"source":"oban","duration":3621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:58.576 [info] {"source":"oban","duration":3354,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:00.384 [info] {"source":"oban","duration":302,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:46:28.579 [info] {"source":"oban","duration":3181,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:58.584 [info] {"source":"oban","duration":3283,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:00.385 [info] {"source":"oban","duration":324,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:47:28.589 [info] {"source":"oban","duration":4919,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:58.594 [info] {"source":"oban","duration":3295,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:00.386 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:48:28.599 [info] {"source":"oban","duration":5091,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:58.603 [info] {"source":"oban","duration":3129,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:00.387 [info] {"source":"oban","duration":332,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:49:28.608 [info] {"source":"oban","duration":3270,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:58.612 [info] {"source":"oban","duration":3767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:00.388 [info] {"source":"oban","duration":279,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:50:28.616 [info] {"source":"oban","duration":3163,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:58.621 [info] {"source":"oban","duration":3582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:00.389 [info] {"source":"oban","duration":285,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:51:28.625 [info] {"source":"oban","duration":3543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:58.630 [info] {"source":"oban","duration":4576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:00.391 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:52:28.635 [info] {"source":"oban","duration":3486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:58.638 [info] {"source":"oban","duration":3189,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:00.392 [info] {"source":"oban","duration":276,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:53:28.643 [info] {"source":"oban","duration":3314,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:58.646 [info] {"source":"oban","duration":3017,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:00.393 [info] {"source":"oban","duration":309,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:54:28.651 [info] {"source":"oban","duration":3282,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:58.655 [info] {"source":"oban","duration":3917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:00.394 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:55:28.660 [info] {"source":"oban","duration":3754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:58.666 [info] {"source":"oban","duration":4308,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:00.396 [info] {"source":"oban","duration":1025,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:56:28.670 [info] {"source":"oban","duration":3674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:58.675 [info] {"source":"oban","duration":3420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:00.398 [info] {"source":"oban","duration":346,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:57:28.679 [info] {"source":"oban","duration":3672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:58.685 [info] {"source":"oban","duration":4355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:00.399 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:58:28.689 [info] {"source":"oban","duration":3552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:58.694 [info] {"source":"oban","duration":4506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:00.400 [info] {"source":"oban","duration":302,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:59:28.710 [info] {"source":"oban","duration":8273,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:58.730 [info] {"source":"oban","duration":18753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:00.401 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:00:28.735 [info] {"source":"oban","duration":3618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:58.739 [info] {"source":"oban","duration":3489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:00.403 [info] {"source":"oban","duration":265,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:01:28.742 [info] {"source":"oban","duration":3091,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:58.747 [info] {"source":"oban","duration":3594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:00.404 [info] {"source":"oban","duration":1052,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:02:28.754 [info] {"source":"oban","duration":6504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:58.758 [info] {"source":"oban","duration":3547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:00.406 [info] {"source":"oban","duration":306,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:03:28.762 [info] {"source":"oban","duration":3664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:58.766 [info] {"source":"oban","duration":4114,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:00.407 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:04:28.770 [info] {"source":"oban","duration":3195,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:58.779 [info] {"source":"oban","duration":8039,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:00.409 [info] {"source":"oban","duration":1623,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:05:28.784 [info] {"source":"oban","duration":3499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:58.789 [info] {"source":"oban","duration":4598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:00.410 [info] {"source":"oban","duration":326,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:06:28.793 [info] {"source":"oban","duration":4089,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:58.799 [info] {"source":"oban","duration":4635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:00.411 [info] {"source":"oban","duration":336,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:07:28.804 [info] {"source":"oban","duration":4865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:58.809 [info] {"source":"oban","duration":4201,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:00.415 [info] {"source":"oban","duration":3346,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:08:28.814 [info] {"source":"oban","duration":4050,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:58.818 [info] {"source":"oban","duration":3210,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:00.416 [info] {"source":"oban","duration":485,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:09:28.823 [info] {"source":"oban","duration":3591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:58.827 [info] {"source":"oban","duration":3797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:00.418 [info] {"source":"oban","duration":479,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:10:28.833 [info] {"source":"oban","duration":4643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:58.839 [info] {"source":"oban","duration":3628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:00.419 [info] {"source":"oban","duration":282,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:11:28.844 [info] {"source":"oban","duration":3378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:58.848 [info] {"source":"oban","duration":3889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:00.420 [info] {"source":"oban","duration":300,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:12:28.852 [info] {"source":"oban","duration":3238,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:58.857 [info] {"source":"oban","duration":3310,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:00.421 [info] {"source":"oban","duration":307,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:13:28.860 [info] {"source":"oban","duration":3196,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:58.865 [info] {"source":"oban","duration":3434,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:00.422 [info] {"source":"oban","duration":474,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:14:28.869 [info] {"source":"oban","duration":3305,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:58.874 [info] {"source":"oban","duration":4588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:00.423 [info] {"source":"oban","duration":325,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:15:28.880 [info] {"source":"oban","duration":5189,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:58.886 [info] {"source":"oban","duration":5035,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:00.424 [info] {"source":"oban","duration":314,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:16:28.891 [info] {"source":"oban","duration":4149,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:58.896 [info] {"source":"oban","duration":3273,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:00.425 [info] {"source":"oban","duration":309,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:17:28.900 [info] {"source":"oban","duration":3822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:58.905 [info] {"source":"oban","duration":3927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:00.426 [info] {"source":"oban","duration":337,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:18:28.909 [info] {"source":"oban","duration":3083,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:58.916 [info] {"source":"oban","duration":5538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:00.427 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:19:28.920 [info] {"source":"oban","duration":4082,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:58.924 [info] {"source":"oban","duration":3172,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:00.429 [info] {"source":"oban","duration":470,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:20:28.929 [info] {"source":"oban","duration":3555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:58.932 [info] {"source":"oban","duration":3169,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:00.430 [info] {"source":"oban","duration":1159,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:21:28.941 [info] {"source":"oban","duration":7716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:58.945 [info] {"source":"oban","duration":3018,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:00.432 [info] {"source":"oban","duration":274,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:22:28.950 [info] {"source":"oban","duration":3338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:58.959 [info] {"source":"oban","duration":8734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:00.433 [info] {"source":"oban","duration":301,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:23:28.964 [info] {"source":"oban","duration":3641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:58.968 [info] {"source":"oban","duration":3368,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:00.434 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:24:28.972 [info] {"source":"oban","duration":3831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:58.977 [info] {"source":"oban","duration":4228,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:00.435 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:25:28.987 [info] {"source":"oban","duration":8253,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:58.993 [info] {"source":"oban","duration":5418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:00.436 [info] {"source":"oban","duration":263,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:26:28.997 [info] {"source":"oban","duration":3728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:59.002 [info] {"source":"oban","duration":3799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:00.437 [info] {"source":"oban","duration":293,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:27:29.007 [info] {"source":"oban","duration":3717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:59.015 [info] {"source":"oban","duration":6772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:00.438 [info] {"source":"oban","duration":267,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:28:29.020 [info] {"source":"oban","duration":3520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:59.042 [info] {"source":"oban","duration":21186,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:00.439 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:29:29.047 [info] {"source":"oban","duration":4036,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:59.054 [info] {"source":"oban","duration":4441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:00.441 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:30:29.059 [info] {"source":"oban","duration":4772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:59.065 [info] {"source":"oban","duration":4103,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:00.443 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:31:29.070 [info] {"source":"oban","duration":3748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:59.076 [info] {"source":"oban","duration":3506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:00.445 [info] {"source":"oban","duration":333,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:32:29.080 [info] {"source":"oban","duration":3367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:59.083 [info] {"source":"oban","duration":3144,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:00.446 [info] {"source":"oban","duration":971,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:33:29.090 [info] {"source":"oban","duration":4223,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:59.095 [info] {"source":"oban","duration":4359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:00.448 [info] {"source":"oban","duration":312,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:34:29.099 [info] {"source":"oban","duration":3861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:59.107 [info] {"source":"oban","duration":6946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:00.450 [info] {"source":"oban","duration":2032,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:35:29.123 [info] {"source":"oban","duration":14646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:59.128 [info] {"source":"oban","duration":3560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:00.452 [info] {"source":"oban","duration":274,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:36:29.132 [info] {"source":"oban","duration":3524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:59.136 [info] {"source":"oban","duration":3570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:00.453 [info] {"source":"oban","duration":310,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:37:29.140 [info] {"source":"oban","duration":3769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:59.152 [info] {"source":"oban","duration":10686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:00.453 [info] {"source":"oban","duration":244,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:38:29.156 [info] {"source":"oban","duration":3487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:59.160 [info] {"source":"oban","duration":3696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:00.455 [info] {"source":"oban","duration":289,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:39:29.165 [info] {"source":"oban","duration":3848,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:59.170 [info] {"source":"oban","duration":3341,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:00.456 [info] {"source":"oban","duration":303,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:40:29.174 [info] {"source":"oban","duration":3769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:59.179 [info] {"source":"oban","duration":4104,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:00.457 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:41:29.184 [info] {"source":"oban","duration":4041,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:59.189 [info] {"source":"oban","duration":3535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:00.458 [info] {"source":"oban","duration":311,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:42:29.194 [info] {"source":"oban","duration":4361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:59.198 [info] {"source":"oban","duration":3805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:00.459 [info] {"source":"oban","duration":293,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:43:29.208 [info] {"source":"oban","duration":8451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:59.212 [info] {"source":"oban","duration":3609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:00.460 [info] {"source":"oban","duration":283,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:44:29.215 [info] {"source":"oban","duration":3287,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:59.222 [info] {"source":"oban","duration":6084,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:00.461 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:45:29.226 [info] {"source":"oban","duration":3141,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:59.231 [info] {"source":"oban","duration":4088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:00.462 [info] {"source":"oban","duration":288,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:46:29.242 [info] {"source":"oban","duration":9689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:59.247 [info] {"source":"oban","duration":3759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:00.463 [info] {"source":"oban","duration":328,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:47:29.253 [info] {"source":"oban","duration":4763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:59.258 [info] {"source":"oban","duration":3631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:00.463 [info] {"source":"oban","duration":230,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:48:29.267 [info] {"source":"oban","duration":8309,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:59.270 [info] {"source":"oban","duration":2994,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:00.465 [info] {"source":"oban","duration":268,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:49:29.275 [info] {"source":"oban","duration":3338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:59.279 [info] {"source":"oban","duration":3404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:00.466 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:50:29.283 [info] {"source":"oban","duration":3560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:59.286 [info] {"source":"oban","duration":3026,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:00.467 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:51:29.295 [info] {"source":"oban","duration":7975,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:59.300 [info] {"source":"oban","duration":3572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:00.468 [info] {"source":"oban","duration":510,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:52:29.304 [info] {"source":"oban","duration":3379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:33.190 [info] GET /sources/1 05:52:33.190 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "1"} Pipelines: [:browser] 05:52:33.195 [debug] QUERY OK source="sources" db=3.7ms idle=433.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:52:33.199 [debug] QUERY OK source="media_profiles" db=3.6ms idle=389.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:52:33.238 [debug] QUERY OK source="tasks" db=37.8ms queue=0.1ms idle=393.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"] 05:52:33.247 [debug] QUERY OK source="oban_jobs" db=8.4ms queue=0.1ms idle=431.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" = ?) [119] 05:52:33.269 [debug] QUERY OK source="settings" db=19.6ms queue=0.2ms 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 [] 05:52:33.273 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=74.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:52:33.277 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=74.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:52:33.282 [debug] QUERY OK source="sources" db=2.5ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:52:33.324 [debug] QUERY OK source="media_items" db=41.1ms idle=36.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] 05:52:33.342 [debug] QUERY OK source="media_items" db=17.0ms idle=55.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 05:52:33.348 [debug] QUERY OK source="sources" db=3.4ms idle=71.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:52:33.353 [debug] QUERY OK source="media_items" db=4.4ms queue=0.1ms idle=71.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 05:52:33.366 [debug] QUERY OK source="media_items" db=12.4ms idle=71.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] 05:52:33.372 [debug] QUERY OK source="sources" db=2.9ms idle=45.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:52:33.377 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=31.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] 05:52:33.390 [debug] QUERY OK source="media_items" db=12.5ms queue=0.1ms idle=29.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] 05:52:33.393 [info] Sent 200 in 202ms 05:52:33.690 [info] GET /sources/1/edit 05:52:33.690 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 05:52:33.694 [debug] QUERY OK source="sources" db=2.9ms idle=337.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:52:33.697 [debug] QUERY OK source="media_profiles" db=2.4ms idle=328.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 05:52:33.700 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=324.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:52:33.703 [debug] QUERY OK source="settings" db=2.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 [] 05:52:33.706 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=313.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:52:33.709 [info] Sent 200 in 19ms 05:52:34.191 [info] GET /sources/2/edit 05:52:34.191 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 05:52:34.194 [debug] QUERY OK source="sources" db=2.2ms queue=0.1ms idle=494.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 05:52:34.198 [debug] QUERY OK source="media_profiles" db=2.9ms queue=0.1ms idle=494.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 05:52:34.201 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=495.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:52:34.203 [debug] QUERY OK source="settings" db=2.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 [] 05:52:34.206 [debug] QUERY OK source="settings" db=2.1ms idle=441.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:52:34.210 [info] Sent 200 in 18ms 05:52:34.692 [info] GET /sources/new 05:52:34.692 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 05:52:34.696 [debug] QUERY OK source="media_profiles" db=2.9ms queue=0.2ms idle=498.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 05:52:34.699 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=498.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:52:34.712 [debug] QUERY OK source="settings" db=11.4ms queue=0.2ms idle=499.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:52:34.717 [debug] QUERY OK source="settings" db=4.3ms queue=0.1ms idle=509.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:52:34.722 [debug] QUERY OK source="settings" db=4.2ms queue=0.1ms idle=511.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:52:34.727 [debug] QUERY OK source="settings" db=4.3ms 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 [] 05:52:34.731 [info] Sent 200 in 39ms 05:52:35.193 [info] GET /sources/1/force_metadata_refresh 05:52:35.197 [debug] QUERY OK source="settings" db=2.7ms 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 [] 05:52:35.200 [debug] QUERY OK source="settings" db=2.8ms idle=480.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:52:35.200 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:52:35.201 [error] #PID<0.8444.0> running PinchflatWeb.Endpoint (connection #PID<0.8438.0>, stream id 6) terminated Server: pinchflat.home.johnhollowell.com: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.8438.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42774}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVlNIR2FlX3Y1RU5iWlVXOVNpUXh5eXUx.s8mkhzBFa5wuC-dZGTbHhdz-0xJD2yMEL-PVuE1AEq4", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVlNIR2FlX3Y1RU5iWlVXOVNpUXh5eXUx.s8mkhzBFa5wuC-dZGTbHhdz-0xJD2yMEL-PVuE1AEq4" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.8444.0>, params: %{}, path_info: ["sources", "1", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVlNIR2FlX3Y1RU5iWlVXOVNpUXh5eXUx.s8mkhzBFa5wuC-dZGTbHhdz-0xJD2yMEL-PVuE1AEq4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVlNIR2FlX3Y1RU5iWlVXOVNpUXh5eXUx.s8mkhzBFa5wuC-dZGTbHhdz-0xJD2yMEL-PVuE1AEq4"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.134"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "216.73.216.134"} ], 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", "GHKe71-c-3jNVzsAAChj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.8438.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42774}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVlNIR2FlX3Y1RU5iWlVXOVNpUXh5eXUx.s8mkhzBFa5wuC-dZGTbHhdz-0xJD2yMEL-PVuE1AEq4", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.8438.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42774}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVlNIR2FlX3Y1RU5iWlVXOVNpUXh5eXUx.s8mkhzBFa5wuC-dZGTbHhdz-0xJD2yMEL-PVuE1AEq4", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 6, host_info: :u (truncated) 05:52:35.694 [info] GET /sources/2 05:52:35.694 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 05:52:35.698 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms idle=972.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 05:52:35.702 [debug] QUERY OK source="media_profiles" db=3.6ms queue=0.1ms idle=971.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:52:35.708 [debug] QUERY OK source="tasks" db=5.0ms queue=0.2ms idle=936.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 (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 05:52:35.711 [debug] QUERY OK source="oban_jobs" db=2.2ms queue=0.1ms idle=511.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" = ?) [125] 05:52:35.714 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=511.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:52:35.716 [debug] QUERY OK source="settings" db=2.3ms 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 [] 05:52:35.719 [debug] QUERY OK source="settings" db=2.0ms idle=14.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:52:35.723 [debug] QUERY OK source="sources" db=1.9ms 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" = ?) [2] 05:52:35.727 [debug] QUERY OK source="media_items" db=3.3ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 05:52:35.733 [debug] QUERY OK source="media_items" db=5.5ms queue=0.1ms idle=13.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 ? [2, 10, 0] 05:52:35.738 [debug] QUERY OK source="sources" db=2.7ms idle=18.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 05:52:35.741 [debug] QUERY OK source="media_items" db=2.8ms idle=18.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 05:52:35.748 [debug] QUERY OK source="media_items" db=6.5ms idle=18.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 ? [2, 10, 0] 05:52:35.751 [debug] QUERY OK source="sources" db=2.2ms idle=21.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 05:52:35.754 [debug] QUERY OK source="media_items" db=2.6ms idle=18.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"))))) [2] 05:52:35.759 [debug] QUERY OK source="media_items" db=4.3ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_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 ? [2, 10, 0] 05:52:35.761 [info] Sent 200 in 67ms 05:52:36.197 [info] GET /sources/1/sync_files_on_disk 05:52:36.209 [debug] QUERY OK source="settings" db=11.6ms idle=449.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:52:36.212 [debug] QUERY OK source="settings" db=2.5ms idle=458.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:52:36.212 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:52:36.212 [error] #PID<0.8446.0> running PinchflatWeb.Endpoint (connection #PID<0.8438.0>, stream id 8) terminated Server: pinchflat.home.johnhollowell.com: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.8438.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42774}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVlNIR2FlX3Y1RU5iWlVXOVNpUXh5eXUx.s8mkhzBFa5wuC-dZGTbHhdz-0xJD2yMEL-PVuE1AEq4", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVlNIR2FlX3Y1RU5iWlVXOVNpUXh5eXUx.s8mkhzBFa5wuC-dZGTbHhdz-0xJD2yMEL-PVuE1AEq4" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.8446.0>, params: %{}, path_info: ["sources", "1", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVlNIR2FlX3Y1RU5iWlVXOVNpUXh5eXUx.s8mkhzBFa5wuC-dZGTbHhdz-0xJD2yMEL-PVuE1AEq4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVlNIR2FlX3Y1RU5iWlVXOVNpUXh5eXUx.s8mkhzBFa5wuC-dZGTbHhdz-0xJD2yMEL-PVuE1AEq4"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.134"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "216.73.216.134"} ], 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", "GHKe75tqA56ouLkAACij"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.8438.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42774}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVlNIR2FlX3Y1RU5iWlVXOVNpUXh5eXUx.s8mkhzBFa5wuC-dZGTbHhdz-0xJD2yMEL-PVuE1AEq4", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.8438.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42774}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVlNIR2FlX3Y1RU5iWlVXOVNpUXh5eXUx.s8mkhzBFa5wuC-dZGTbHhdz-0xJD2yMEL-PVuE1AEq4", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, (truncated) 05:52:36.696 [info] GET /sources/1/force_index 05:52:36.700 [debug] QUERY OK source="settings" db=3.2ms idle=942.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:52:36.704 [debug] QUERY OK source="settings" db=3.8ms queue=0.1ms idle=940.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:52:36.704 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:52:36.705 [error] #PID<0.8447.0> running PinchflatWeb.Endpoint (connection #PID<0.8438.0>, stream id 9) terminated Server: pinchflat.home.johnhollowell.com: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.8438.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42774}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVlNIR2FlX3Y1RU5iWlVXOVNpUXh5eXUx.s8mkhzBFa5wuC-dZGTbHhdz-0xJD2yMEL-PVuE1AEq4", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVlNIR2FlX3Y1RU5iWlVXOVNpUXh5eXUx.s8mkhzBFa5wuC-dZGTbHhdz-0xJD2yMEL-PVuE1AEq4" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.8447.0>, params: %{}, path_info: ["sources", "1", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVlNIR2FlX3Y1RU5iWlVXOVNpUXh5eXUx.s8mkhzBFa5wuC-dZGTbHhdz-0xJD2yMEL-PVuE1AEq4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVlNIR2FlX3Y1RU5iWlVXOVNpUXh5eXUx.s8mkhzBFa5wuC-dZGTbHhdz-0xJD2yMEL-PVuE1AEq4"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.134"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "216.73.216.134"} ], request_path: "/sources/1/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHKe77kuppaMHGYAACjD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.8438.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42774}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVlNIR2FlX3Y1RU5iWlVXOVNpUXh5eXUx.s8mkhzBFa5wuC-dZGTbHhdz-0xJD2yMEL-PVuE1AEq4", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, 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.8438.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 42774}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVlNIR2FlX3Y1RU5iWlVXOVNpUXh5eXUx.s8mkhzBFa5wuC-dZGTbHhdz-0xJD2yMEL-PVuE1AEq4", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, co (truncated) 05:52:59.309 [info] {"source":"oban","duration":4326,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:00.469 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:53:03.471 [info] GET /sources/1/media/80/edit 05:53:03.471 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "80", "source_id" => "1"} Pipelines: [:browser] 05:53:03.474 [info] GET /sources/1/media/83 05:53:03.474 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "83", "source_id" => "1"} Pipelines: [:browser] 05:53:03.476 [debug] QUERY OK source="media_items" db=4.4ms idle=1665.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" = ?) [80] 05:53:03.477 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1670.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:03.478 [debug] QUERY OK source="settings" db=0.6ms idle=1546.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:03.479 [debug] QUERY OK source="media_items" db=4.3ms idle=1667.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" = ?) [83] 05:53:03.482 [debug] QUERY OK source="sources" db=2.7ms idle=2.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:53:03.483 [debug] QUERY OK source="settings" db=4.0ms queue=0.1ms idle=542.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:03.484 [debug] QUERY OK source="tasks" db=4.3ms idle=3.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" [83] 05:53:03.486 [info] Sent 200 in 14ms 05:53:03.490 [debug] QUERY OK source="oban_jobs" db=5.1ms idle=6.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" = ?) [75] 05:53:03.498 [debug] QUERY OK source="settings" db=7.6ms 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 [] 05:53:03.501 [debug] QUERY OK source="settings" db=2.6ms 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 [] 05:53:03.504 [debug] QUERY OK source="settings" db=2.3ms 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 [] 05:53:03.507 [debug] QUERY OK source="media_profiles" db=2.3ms 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] 05:53:03.576 [info] Sent 200 in 101ms 05:53:03.972 [info] GET /sources/1/media/96/edit 05:53:03.972 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "96", "source_id" => "1"} Pipelines: [:browser] 05:53:03.976 [debug] QUERY OK source="media_items" db=3.0ms idle=474.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" = ?) [96] 05:53:03.979 [debug] QUERY OK source="settings" db=2.5ms idle=474.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:03.981 [debug] QUERY OK source="settings" db=2.0ms idle=474.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:03.984 [debug] QUERY OK source="settings" db=1.9ms idle=474.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:03.985 [info] Sent 200 in 13ms 05:53:04.478 [info] GET /sources/1/media/95/edit 05:53:04.478 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "95", "source_id" => "1"} Pipelines: [:browser] 05:53:04.482 [debug] QUERY OK source="media_items" db=3.1ms idle=538.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" = ?) [95] 05:53:04.484 [debug] QUERY OK source="settings" db=2.0ms idle=506.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:04.487 [debug] QUERY OK source="settings" db=2.1ms idle=505.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:04.490 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=506.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:04.492 [info] Sent 200 in 14ms 05:53:04.977 [info] GET /sources/1/media/93/edit 05:53:04.977 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "93", "source_id" => "1"} Pipelines: [:browser] 05:53:04.981 [debug] QUERY OK source="media_items" db=3.1ms idle=495.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [93] 05:53:04.984 [debug] QUERY OK source="settings" db=2.7ms idle=496.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:04.986 [debug] QUERY OK source="settings" db=2.0ms idle=497.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:04.989 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=496.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:04.991 [info] Sent 200 in 14ms 05:53:05.477 [info] GET /sources/1/force_download_pending 05:53:05.480 [debug] QUERY OK source="settings" db=2.6ms idle=533.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:05.483 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=499.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:05.483 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:53:05.484 [error] #PID<0.8460.0> running PinchflatWeb.Endpoint (connection #PID<0.8452.0>, stream id 5) terminated Server: pinchflat.home.johnhollowell.com: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.8452.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 45138}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYR1h2akVXUXZaWmdJMWo2UkNCMWFvcDRt.-D3xpXLWezmYNXYLJxfKdnJV7qfTL5bJJT8zFjv98FI", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYR1h2akVXUXZaWmdJMWo2UkNCMWFvcDRt.-D3xpXLWezmYNXYLJxfKdnJV7qfTL5bJJT8zFjv98FI" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.8460.0>, params: %{}, path_info: ["sources", "1", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYR1h2akVXUXZaWmdJMWo2UkNCMWFvcDRt.-D3xpXLWezmYNXYLJxfKdnJV7qfTL5bJJT8zFjv98FI" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYR1h2akVXUXZaWmdJMWo2UkNCMWFvcDRt.-D3xpXLWezmYNXYLJxfKdnJV7qfTL5bJJT8zFjv98FI"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.134"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "216.73.216.134"} ], 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", "GHKe9myno38O9yYAACmj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.8452.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 45138}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYR1h2akVXUXZaWmdJMWo2UkNCMWFvcDRt.-D3xpXLWezmYNXYLJxfKdnJV7qfTL5bJJT8zFjv98FI", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.8452.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 45138}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYR1h2akVXUXZaWmdJMWo2UkNCMWFvcDRt.-D3xpXLWezmYNXYLJxfKdnJV7qfTL5bJJT8zFjv98FI", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 5, host_info: :u (truncated) 05:53:05.978 [info] GET /sources/new 05:53:05.979 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "1"} Pipelines: [:browser] 05:53:05.982 [debug] QUERY OK source="sources" db=3.3ms idle=992.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:53:05.986 [debug] QUERY OK source="media_profiles" db=3.0ms idle=993.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 05:53:05.989 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=506.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:05.991 [debug] QUERY OK source="settings" db=2.1ms idle=506.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:05.993 [debug] QUERY OK source="settings" db=1.8ms idle=43.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:06.000 [debug] QUERY OK source="settings" db=5.5ms 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 [] 05:53:06.005 [debug] QUERY OK source="settings" db=4.3ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:53:06.009 [info] Sent 200 in 30ms 05:53:29.327 [info] {"source":"oban","duration":16662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:59.331 [info] {"source":"oban","duration":3632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:00.470 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:54:29.335 [info] {"source":"oban","duration":3598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:59.339 [info] {"source":"oban","duration":3877,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:00.471 [info] {"source":"oban","duration":296,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:55:29.344 [info] {"source":"oban","duration":3300,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:55.702 [info] GET /sources/1/force_redownload 05:55:55.705 [debug] QUERY OK source="settings" db=2.4ms idle=1831.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:55:55.708 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=890.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:55:55.709 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:55:55.709 [error] #PID<0.8474.0> running PinchflatWeb.Endpoint (connection #PID<0.8473.0>, stream id 1) terminated Server: pinchflat.home.johnhollowell.com: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.8473.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 57692}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.8474.0>, params: %{}, path_info: ["sources", "1", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.134"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "216.73.216.134"} ], request_path: "/sources/1/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHKfHg7iupoQWMYAACpj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.8473.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 57692}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.8473.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 57692}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, 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.home.johnhollowell.com", method: "GET", owner: #PID<0.8474.0>, params: %{}, path_info: ["sources", "1", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{}, req_headers (truncated) 05:55:56.037 [info] GET /sources/1/media/76 05:55:56.037 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "76", "source_id" => "1"} Pipelines: [:browser] 05:55:56.041 [debug] QUERY OK source="media_items" db=3.9ms idle=1221.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" = ?) [76] 05:55:56.047 [debug] QUERY OK source="sources" db=2.9ms idle=338.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:55:56.048 [debug] QUERY OK source="tasks" db=4.6ms queue=1.0ms idle=1166.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" [76] 05:55:56.051 [debug] QUERY OK source="oban_jobs" db=2.7ms idle=340.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" = ?) [68] 05:55:56.056 [debug] QUERY OK source="settings" db=3.7ms queue=0.1ms idle=172.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:55:56.065 [debug] QUERY OK source="settings" db=9.2ms queue=0.1ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:55:56.073 [debug] QUERY OK source="settings" db=6.6ms queue=0.1ms idle=19.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:55:56.077 [debug] QUERY OK source="media_profiles" db=3.0ms 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] 05:55:56.098 [info] Sent 200 in 61ms 05:55:56.538 [info] GET /sources/1/media/85 05:55:56.538 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "85", "source_id" => "1"} Pipelines: [:browser] 05:55:56.541 [debug] QUERY OK source="media_items" db=2.6ms idle=487.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" = ?) [85] 05:55:56.544 [debug] QUERY OK source="tasks" db=2.4ms idle=485.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" [85] 05:55:56.547 [debug] QUERY OK source="sources" db=4.9ms idle=476.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:55:56.550 [debug] QUERY OK source="oban_jobs" db=3.0ms idle=473.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [77] 05:55:56.553 [debug] QUERY OK source="settings" db=2.3ms idle=473.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:55:56.556 [debug] QUERY OK source="settings" db=2.9ms 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 [] 05:55:56.559 [debug] QUERY OK source="settings" db=2.2ms idle=12.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:55:56.562 [debug] QUERY OK source="media_profiles" db=1.9ms 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] 05:55:56.579 [info] Sent 200 in 41ms 05:55:57.038 [info] GET /sources/1/media/77 05:55:57.038 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "77", "source_id" => "1"} Pipelines: [:browser] 05:55:57.042 [debug] QUERY OK source="media_items" db=3.5ms idle=485.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" = ?) [77] 05:55:57.045 [debug] QUERY OK source="sources" db=2.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:55:57.046 [debug] QUERY OK source="tasks" db=3.7ms idle=485.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [77] 05:55:57.054 [debug] QUERY OK source="oban_jobs" db=7.4ms idle=484.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" = ?) [69] 05:55:57.058 [debug] QUERY OK source="settings" db=3.3ms queue=0.1ms idle=170.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:55:57.062 [debug] QUERY OK source="settings" db=3.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 [] 05:55:57.066 [debug] QUERY OK source="settings" db=2.8ms 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 [] 05:55:57.072 [debug] QUERY OK source="media_profiles" db=3.8ms 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] 05:55:57.089 [info] Sent 200 in 51ms 05:55:57.538 [info] GET /sources/1/media/79 05:55:57.539 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "79", "source_id" => "1"} Pipelines: [:browser] 05:55:57.544 [debug] QUERY OK source="media_items" db=4.6ms queue=0.1ms idle=485.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" = ?) [79] 05:55:57.548 [debug] QUERY OK source="sources" db=3.7ms idle=482.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:55:57.550 [debug] QUERY OK source="tasks" db=5.5ms idle=486.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" [79] 05:55:57.553 [debug] QUERY OK source="oban_jobs" db=2.5ms idle=483.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" = ?) [71] 05:55:57.556 [debug] QUERY OK source="settings" db=2.4ms idle=481.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:55:57.559 [debug] QUERY OK source="settings" db=2.4ms idle=12.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:55:57.563 [debug] QUERY OK source="settings" db=3.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 [] 05:55:57.567 [debug] QUERY OK source="media_profiles" db=2.8ms 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] 05:55:57.585 [info] Sent 200 in 46ms 05:55:58.040 [info] GET /sources/1/media/78 05:55:58.040 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "78", "source_id" => "1"} Pipelines: [:browser] 05:55:58.043 [debug] QUERY OK source="media_items" db=2.7ms idle=484.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" = ?) [78] 05:55:58.052 [debug] QUERY OK source="sources" db=7.8ms idle=481.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:55:58.053 [debug] QUERY OK source="tasks" db=8.3ms queue=0.1ms idle=485.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" [78] 05:55:58.057 [debug] QUERY OK source="oban_jobs" db=3.1ms idle=486.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [70] 05:55:58.060 [debug] QUERY OK source="settings" db=3.0ms queue=0.1ms idle=168.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:55:58.066 [debug] QUERY OK source="settings" db=5.1ms 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 [] 05:55:58.071 [debug] QUERY OK source="settings" db=4.9ms 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 [] 05:55:58.080 [debug] QUERY OK source="media_profiles" db=7.3ms 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] 05:55:58.097 [info] Sent 200 in 57ms 05:55:58.540 [info] GET /sources/1/media/95 05:55:58.541 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "95", "source_id" => "1"} Pipelines: [:browser] 05:55:58.544 [debug] QUERY OK source="media_items" db=2.5ms idle=484.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" = ?) [95] 05:55:58.546 [debug] QUERY OK source="sources" db=2.2ms idle=478.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:55:58.547 [debug] QUERY OK source="tasks" db=2.7ms idle=483.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [95] 05:55:58.549 [debug] QUERY OK source="oban_jobs" db=2.0ms idle=475.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [87] 05:55:58.552 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=469.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:55:58.554 [debug] QUERY OK source="settings" db=1.8ms 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 [] 05:55:58.557 [debug] QUERY OK source="settings" db=2.4ms 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 [] 05:55:58.561 [debug] QUERY OK source="media_profiles" db=2.7ms idle=11.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:55:58.572 [info] Sent 200 in 31ms 05:55:59.347 [info] {"source":"oban","duration":2954,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:00.472 [info] {"source":"oban","duration":292,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:56:16.003 [info] GET /sources/1/media/82 05:56:16.004 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "82", "source_id" => "1"} Pipelines: [:browser] 05:56:16.007 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=188.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" = ?) [82] 05:56:16.011 [debug] QUERY OK source="tasks" db=2.9ms queue=0.1ms idle=192.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" [82] 05:56:16.011 [debug] QUERY OK source="sources" db=3.4ms idle=192.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:56:16.016 [debug] QUERY OK source="oban_jobs" db=3.6ms idle=196.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" = ?) [74] 05:56:16.018 [debug] QUERY OK source="settings" db=2.4ms 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 [] 05:56:16.022 [debug] QUERY OK source="settings" db=3.4ms queue=0.1ms idle=11.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:56:16.026 [debug] QUERY OK source="settings" db=2.4ms idle=12.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:56:16.030 [debug] QUERY OK source="media_profiles" db=3.0ms 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] 05:56:16.047 [info] Sent 200 in 43ms 05:56:16.339 [info] GET /sources/1/media/94 05:56:16.340 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "94", "source_id" => "1"} Pipelines: [:browser] 05:56:16.343 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=324.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [94] 05:56:16.347 [debug] QUERY OK source="sources" db=2.2ms queue=0.3ms idle=321.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:56:16.347 [debug] QUERY OK source="tasks" db=3.0ms queue=0.1ms idle=325.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" [94] 05:56:16.350 [debug] QUERY OK source="oban_jobs" db=2.6ms idle=321.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [86] 05:56:16.353 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=320.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:56:16.356 [debug] QUERY OK source="settings" db=2.3ms idle=10.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:56:16.359 [debug] QUERY OK source="settings" db=2.5ms 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 [] 05:56:16.362 [debug] QUERY OK source="media_profiles" db=2.2ms idle=12.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:56:16.373 [info] Sent 200 in 33ms 05:56:16.820 [info] GET /sources/1/media/91/edit 05:56:16.820 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "91", "source_id" => "1"} Pipelines: [:browser] 05:56:16.823 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=470.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" = ?) [91] 05:56:16.827 [debug] QUERY OK source="settings" db=2.6ms idle=470.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:56:16.830 [debug] QUERY OK source="settings" db=2.7ms idle=471.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:56:16.833 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=471.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:56:16.834 [info] Sent 200 in 14ms 05:56:17.321 [info] GET /sources/1/media/80 05:56:17.322 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "80", "source_id" => "1"} Pipelines: [:browser] 05:56:17.325 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=498.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" = ?) [80] 05:56:17.332 [debug] QUERY OK source="sources" db=6.2ms idle=496.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:56:17.332 [debug] QUERY OK source="tasks" db=6.6ms idle=498.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [80] 05:56:17.336 [debug] QUERY OK source="oban_jobs" db=3.0ms idle=499.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" = ?) [72] 05:56:17.341 [debug] QUERY OK source="settings" db=4.1ms idle=365.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:56:17.343 [debug] QUERY OK source="settings" db=2.5ms 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 [] 05:56:17.347 [debug] QUERY OK source="settings" db=2.8ms 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 [] 05:56:17.351 [debug] QUERY OK source="media_profiles" db=2.7ms idle=15.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:56:17.365 [info] Sent 200 in 43ms 05:56:17.822 [info] GET /sources/1/media/98/edit 05:56:17.822 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "98", "source_id" => "1"} Pipelines: [:browser] 05:56:17.826 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=486.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" = ?) [98] 05:56:17.830 [debug] QUERY OK source="settings" db=2.7ms idle=486.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:56:17.832 [debug] QUERY OK source="settings" db=2.3ms idle=486.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:56:17.836 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=485.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:56:17.838 [info] Sent 200 in 15ms 05:56:18.323 [info] GET /sources/1/media/81 05:56:18.323 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "81", "source_id" => "1"} Pipelines: [:browser] 05:56:18.328 [debug] QUERY OK source="media_items" db=4.2ms queue=0.1ms idle=497.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" = ?) [81] 05:56:18.331 [debug] QUERY OK source="sources" db=2.3ms idle=496.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:56:18.333 [debug] QUERY OK source="tasks" db=4.6ms idle=498.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [81] 05:56:18.338 [debug] QUERY OK source="oban_jobs" db=3.9ms idle=497.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" = ?) [73] 05:56:18.342 [debug] QUERY OK source="settings" db=3.6ms queue=0.1ms idle=363.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:56:18.345 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms 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 [] 05:56:18.348 [debug] QUERY OK source="settings" db=2.4ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:56:18.352 [debug] QUERY OK source="media_profiles" db=2.7ms idle=15.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:56:18.360 [info] Sent 200 in 37ms 05:56:18.824 [info] GET /sources/1/media/93 05:56:18.824 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "93", "source_id" => "1"} Pipelines: [:browser] 05:56:18.827 [debug] QUERY OK source="media_items" db=2.6ms idle=486.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" = ?) [93] 05:56:18.830 [debug] QUERY OK source="sources" db=1.9ms idle=482.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:56:18.831 [debug] QUERY OK source="tasks" db=2.9ms idle=485.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" [93] 05:56:18.833 [debug] QUERY OK source="oban_jobs" db=1.9ms idle=482.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" = ?) [85] 05:56:18.836 [debug] QUERY OK source="settings" db=2.1ms queue=0.1ms idle=481.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:56:18.838 [debug] QUERY OK source="settings" db=1.8ms 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 [] 05:56:18.841 [debug] QUERY OK source="settings" db=2.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 [] 05:56:18.844 [debug] QUERY OK source="media_profiles" db=2.3ms idle=10.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:56:18.861 [info] Sent 200 in 37ms 05:56:29.354 [info] {"source":"oban","duration":5407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:59.362 [info] {"source":"oban","duration":7596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:00.473 [info] {"source":"oban","duration":510,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:57:27.427 [info] GET /sources/1/media/55 05:57:27.428 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "55", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 05:57:27.431 [debug] QUERY OK source="media_items" db=3.0ms idle=1118.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" = ?) [55] 05:57:27.434 [debug] QUERY OK source="sources" db=2.1ms queue=0.1ms idle=612.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:57:27.434 [debug] QUERY OK source="tasks" db=2.5ms queue=0.1ms idle=612.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" [55] 05:57:27.439 [debug] QUERY OK source="oban_jobs" db=3.1ms idle=616.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" = ?) [47] 05:57:27.442 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=123.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:57:27.445 [debug] QUERY OK source="settings" db=2.4ms idle=11.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:57:27.447 [debug] QUERY OK source="settings" db=2.0ms idle=11.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:57:27.453 [debug] QUERY OK source="media_profiles" db=4.2ms idle=13.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:57:27.489 [info] Sent 200 in 61ms 05:57:27.716 [info] GET /sources/1/media/96/force_download 05:57:27.721 [debug] QUERY OK source="settings" db=4.2ms idle=278.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:57:27.729 [debug] QUERY OK source="settings" db=7.1ms queue=0.1ms idle=279.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:57:27.729 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:57:27.731 [error] #PID<0.8536.0> running PinchflatWeb.Endpoint (connection #PID<0.8531.0>, stream id 2) terminated Server: pinchflat.home.johnhollowell.com:80 (http) Request: GET /sources/1/media/96/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/96/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.8531.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/96/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 39706}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYczFYc1QzWFZlY1djYi1NS05HRnpRQUxy.7H0LCThThP7FbQokuSObxat8kPkYJscSfjPD2esBfpE", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYczFYc1QzWFZlY1djYi1NS05HRnpRQUxy.7H0LCThThP7FbQokuSObxat8kPkYJscSfjPD2esBfpE" }, halted: false, host: "pinchflat.home.johnhollowell.com", method: "GET", owner: #PID<0.8536.0>, params: %{}, path_info: ["sources", "1", "media", "96", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.home.johnhollowell.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 13}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYczFYc1QzWFZlY1djYi1NS05HRnpRQUxy.7H0LCThThP7FbQokuSObxat8kPkYJscSfjPD2esBfpE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYczFYc1QzWFZlY1djYi1NS05HRnpRQUxy.7H0LCThThP7FbQokuSObxat8kPkYJscSfjPD2esBfpE"}, {"host", "pinchflat.home.johnhollowell.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.134"}, {"x-forwarded-host", "pinchflat.home.johnhollowell.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "ef32a2d4ef2e"}, {"x-real-ip", "216.73.216.134"} ], request_path: "/sources/1/media/96/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GHKfM3tZnZkYXoIAAC3D"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.8531.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/96/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 39706}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYczFYc1QzWFZlY1djYi1NS05HRnpRQUxy.7H0LCThThP7FbQokuSObxat8kPkYJscSfjPD2esBfpE", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/96/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.8531.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/96/force_download", host: "pinchflat.home.johnhollowell.com", peer: {{172, 18, 0, 13}, 39706}, bindings: %{}, sock: {{172, 18, 0, 22}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYczFYc1QzWFZlY1djYi1NS05HRnpRQUxy.7H0LCThThP7FbQokuSObxat8kPkYJscSfjPD2esBfpE", "host" => "pinchflat.home.johnhollowell.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.134", "x-forwarded-host" => "pinchflat.home.johnhollowell.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "ef32a2d4ef2e", "x-real-ip" => "216.73.216.134" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 2, (truncated) 05:57:28.214 [info] GET /sources/1/media/96 05:57:28.214 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "96", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 05:57:28.219 [debug] QUERY OK source="media_items" db=4.5ms idle=770.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" = ?) [96] 05:57:28.246 [debug] QUERY OK source="sources" db=24.2ms queue=0.4ms idle=768.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 05:57:28.250 [debug] QUERY OK source="tasks" db=28.9ms queue=0.5ms idle=772.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [96] 05:57:28.263 [debug] QUERY OK source="oban_jobs" db=11.5ms idle=529.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" = ?) [88] 05:57:28.268 [debug] QUERY OK source="settings" db=3.9ms queue=0.2ms idle=534.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:57:28.272 [debug] QUERY OK source="settings" db=4.2ms idle=48.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:57:28.280 [debug] QUERY OK source="settings" db=6.8ms 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 [] 05:57:28.283 [debug] QUERY OK source="media_profiles" db=2.2ms idle=31.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 05:57:28.298 [info] Sent 200 in 83ms 05:57:28.715 [info] GET /sources/1/media/55/edit 05:57:28.716 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "55", "source_id" => "1"} Pipelines: [:browser] 05:57:28.719 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=448.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" = ?) [55] 05:57:28.722 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms idle=447.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:57:28.725 [debug] QUERY OK source="settings" db=2.3ms idle=442.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:57:28.727 [debug] QUERY OK source="settings" db=2.0ms idle=441.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:57:28.729 [info] Sent 200 in 14ms 05:57:29.222 [info] GET /sources/1/media/99/edit 05:57:29.222 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "99", "source_id" => "1"} Pipelines: [:browser] 05:57:29.226 [debug] QUERY OK source="media_items" db=2.5ms idle=884.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" = ?) [99] 05:57:29.234 [debug] QUERY OK source="settings" db=7.3ms idle=507.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:57:29.237 [debug] QUERY OK source="settings" db=2.7ms idle=512.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:57:29.240 [debug] QUERY OK source="settings" db=2.6ms queue=0.1ms idle=513.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:57:29.242 [info] Sent 200 in 20ms 05:57:29.365 [info] {"source":"oban","duration":3221,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:29.721 [info] GET /sources/1/media/85/edit 05:57:29.722 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "85", "source_id" => "1"} Pipelines: [:browser] 05:57:29.725 [debug] QUERY OK source="media_items" db=3.2ms idle=488.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" = ?) [85] 05:57:29.728 [debug] QUERY OK source="settings" db=2.2ms idle=489.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:57:29.731 [debug] QUERY OK source="settings" db=2.2ms idle=488.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:57:29.734 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=386.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:57:29.735 [info] Sent 200 in 13ms 05:57:30.226 [info] GET /sources/1/media/92/edit 05:57:30.226 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "92", "source_id" => "1"} Pipelines: [:browser] 05:57:30.229 [debug] QUERY OK source="media_items" db=2.6ms queue=0.2ms idle=861.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" = ?) [92] 05:57:30.232 [debug] QUERY OK source="settings" db=2.0ms idle=504.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:57:30.235 [debug] QUERY OK source="settings" db=2.5ms queue=0.2ms idle=503.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:57:30.239 [debug] QUERY OK source="settings" db=2.8ms queue=0.1ms idle=504.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:57:30.241 [info] Sent 200 in 14ms 05:57:59.370 [info] {"source":"oban","duration":4025,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:00.474 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:58:29.376 [info] {"source":"oban","duration":4995,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:57.195 [info] GET / 05:58:57.195 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 05:58:57.198 [debug] QUERY OK source="settings" db=2.2ms idle=1375.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:58:57.201 [debug] QUERY OK source="media_profiles" db=3.0ms idle=1378.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 05:58:57.204 [debug] QUERY OK source="sources" db=2.3ms idle=1371.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 05:58:57.216 [debug] QUERY OK source="media_items" db=12.5ms queue=0.1ms idle=384.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:58:57.221 [debug] QUERY OK source="media_items" db=4.3ms queue=0.1ms idle=382.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:58:57.224 [debug] QUERY OK source="settings" db=2.2ms 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 [] 05:58:57.227 [debug] QUERY OK source="settings" db=2.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 [] 05:58:57.230 [debug] QUERY OK source="settings" db=1.9ms 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 [] 05:58:57.234 [debug] QUERY OK source="tasks" db=3.0ms idle=14.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"] 05:58:57.238 [debug] QUERY OK source="media_items" db=2.5ms idle=13.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)) [] 05:58:57.243 [debug] QUERY OK source="media_items" db=4.2ms queue=0.1ms idle=14.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] 05:58:57.246 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=16.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?)) [1, 2] 05:58:57.253 [debug] QUERY OK source="media_items" db=3.1ms idle=19.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"))) [] 05:58:57.256 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=18.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] 05:58:57.259 [debug] QUERY OK source="sources" db=3.1ms queue=0.1ms idle=18.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 05:58:57.261 [info] Sent 200 in 66ms 05:58:59.381 [info] {"source":"oban","duration":3545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:00.475 [info] {"source":"oban","duration":285,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:59:29.390 [info] {"source":"oban","duration":8939,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:42.520 [info] GET /sources/1/media/84/edit 05:59:42.520 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "84", "source_id" => "1"} Pipelines: [:browser] 05:59:42.523 [debug] QUERY OK source="media_items" db=2.9ms idle=1700.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" = ?) [84] 05:59:42.527 [debug] QUERY OK source="settings" db=3.3ms idle=1704.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:59:42.531 [debug] QUERY OK source="settings" db=3.0ms queue=0.2ms idle=1708.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:59:42.534 [debug] QUERY OK source="settings" db=2.5ms idle=1405.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:59:42.536 [info] Sent 200 in 16ms 05:59:42.840 [info] GET /sources/1/media/76/edit 05:59:42.841 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "76", "source_id" => "1"} Pipelines: [:browser] 05:59:42.845 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=709.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" = ?) [76] 05:59:42.847 [debug] QUERY OK source="settings" db=2.0ms 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 [] 05:59:42.850 [debug] QUERY OK source="settings" db=2.2ms idle=320.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:59:42.852 [debug] QUERY OK source="settings" db=2.1ms idle=319.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:59:42.854 [info] Sent 200 in 13ms 05:59:43.340 [info] GET /sources/1/media/78/edit 05:59:43.341 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "78", "source_id" => "1"} Pipelines: [:browser] 05:59:43.344 [debug] QUERY OK source="media_items" db=2.9ms idle=496.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" = ?) [78] 05:59:43.349 [debug] QUERY OK source="settings" db=4.0ms idle=497.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:59:43.352 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=499.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:59:43.355 [debug] QUERY OK source="settings" db=2.5ms queue=0.1ms idle=500.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:59:43.357 [info] Sent 200 in 16ms 05:59:43.841 [info] GET /sources/1/media/77/edit 05:59:43.842 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "77", "source_id" => "1"} Pipelines: [:browser] 05:59:43.845 [debug] QUERY OK source="media_items" db=2.8ms idle=706.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" = ?) [77] 05:59:43.848 [debug] QUERY OK source="settings" db=2.2ms idle=501.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:59:43.851 [debug] QUERY OK source="settings" db=2.6ms idle=499.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:59:43.854 [debug] QUERY OK source="settings" db=2.2ms queue=0.1ms idle=499.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:59:43.856 [info] Sent 200 in 14ms 05:59:44.342 [info] GET /sources/1/media/59/edit 05:59:44.343 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "59", "source_id" => "1"} Pipelines: [:browser] 05:59:44.345 [debug] QUERY OK source="media_items" db=2.4ms idle=498.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" = ?) [59] 05:59:44.348 [debug] QUERY OK source="settings" db=2.2ms idle=498.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:59:44.351 [debug] QUERY OK source="settings" db=2.2ms idle=497.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:59:44.354 [debug] QUERY OK source="settings" db=2.2ms idle=497.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:59:44.355 [info] Sent 200 in 13ms 05:59:44.846 [info] GET /sources/1/media/82/edit 05:59:44.847 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "82", "source_id" => "1"} Pipelines: [:browser] 05:59:44.850 [debug] QUERY OK source="media_items" db=2.8ms idle=707.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" = ?) [82] 05:59:44.853 [debug] QUERY OK source="settings" db=2.2ms idle=505.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:59:44.856 [debug] QUERY OK source="settings" db=2.3ms idle=504.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:59:44.859 [debug] QUERY OK source="settings" db=2.3ms queue=0.1ms idle=505.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:59:44.861 [info] Sent 200 in 14ms 05:59:45.347 [info] GET /sources/1/media/79/edit 05:59:45.347 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "79", "source_id" => "1"} Pipelines: [:browser] 05:59:45.351 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=497.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" = ?) [79] 05:59:45.354 [debug] QUERY OK source="settings" db=2.2ms 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 [] 05:59:45.356 [debug] QUERY OK source="settings" db=2.2ms idle=498.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:59:45.359 [debug] QUERY OK source="settings" db=2.4ms queue=0.1ms idle=497.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:59:45.361 [info] Sent 200 in 13ms 05:59:59.397 [info] {"source":"oban","duration":5726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:00.476 [info] {"source":"oban","duration":474,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:00:29.402 [info] {"source":"oban","duration":3476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:33.439 [info] GET /sources/opml.xml 06:00:33.440 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.opml_feed/2 Parameters: %{"route_token" => "f981617a-c3c3-45b8-9b6f-e9fbbba25f94"} Pipelines: [:maybe_basic_auth, :token_protected_route] 06:00:33.444 [debug] QUERY OK source="settings" db=3.6ms idle=925.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 06:00:33.447 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=623.5ms SELECT s0."custom_name", s0."uuid" FROM "sources" AS s0 WHERE (s0."marked_for_deletion_at" IS NULL) ORDER BY s0."custom_name" [] 06:00:33.447 [info] Sent 200 in 7ms 06:00:33.771 [info] GET /media/898a56ac-4c78-40b8-8a41-1cfbaade4d2b/stream 06:00:33.772 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "898a56ac-4c78-40b8-8a41-1cfbaade4d2b"} Pipelines: [:maybe_basic_auth] 06:00:33.775 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=951.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["898a56ac-4c78-40b8-8a41-1cfbaade4d2b"] 06:00:33.792 [debug] Invalid range request for media item: 898a56ac-4c78-40b8-8a41-1cfbaade4d2b - serving full file 06:00:33.792 [info] Sent 200 in 20ms 06:00:34.277 [info] GET /sources/88c059eb-0ad2-4be2-9412-6aab2c49a275/feed.xml 06:00:34.278 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "88c059eb-0ad2-4be2-9412-6aab2c49a275"} Pipelines: [:maybe_basic_auth] 06:00:34.286 [debug] QUERY OK source="sources" db=7.4ms queue=0.1ms idle=1457.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."uuid" = ?) ["88c059eb-0ad2-4be2-9412-6aab2c49a275"] 06:00:34.299 [debug] QUERY OK source="media_items" db=12.6ms queue=0.1ms idle=842.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 NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? [1, 2000] 06:00:35.563 [debug] QUERY OK source="source_metadata" db=2.6ms idle=1261.6ms 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] 06:00:35.568 [debug] QUERY OK source="media_metadata" db=4.4ms idle=1037.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [100] 06:00:35.571 [info] Sent 200 in 1293ms 06:00:35.779 [info] GET /media/9840746b-b68d-497e-a709-53a9904b776d/stream 06:00:35.780 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "9840746b-b68d-497e-a709-53a9904b776d"} Pipelines: [:maybe_basic_auth] 06:00:35.783 [debug] QUERY OK source="media_items" db=3.2ms idle=956.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["9840746b-b68d-497e-a709-53a9904b776d"] 06:00:35.784 [debug] Invalid range request for media item: 9840746b-b68d-497e-a709-53a9904b776d - serving full file 06:00:35.784 [info] Sent 200 in 5ms