14:36:43.912 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:36:43.912 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:36:43.912 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:36:43.913 [debug] QUERY OK source="oban_jobs" db=0.1ms queue=2.8ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 14:36:43.913 [info] Reset 0 executing jobs 14:36:43.913 [info] Creating blank file: /config/extras/cookies.txt 14:36:43.913 [info] Creating blank file: /config/extras/yt-dlp-configs/base-config.txt 14:36:43.914 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:36:43.914 [info] Creating blank file and making it executable: /config/extras/user-scripts/lifecycle 14:36:43.915 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:36:43.915 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 14:36:44.824 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2025.09.26 14:36:44.824 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 14:36:45.043 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 14:36:45.043 [debug] QUERY OK source="settings" db=0.3ms queue=0.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:36:45.044 [debug] QUERY OK source="settings" db=0.4ms idle=1130.8ms UPDATE "settings" SET "yt_dlp_version" = ? WHERE "id" = ? ["2025.09.26", 1] 14:36:45.044 [debug] QUERY OK source="settings" db=0.1ms idle=1131.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:45.045 [debug] QUERY OK source="settings" db=0.3ms idle=1130.1ms UPDATE "settings" SET "apprise_version" = ? WHERE "id" = ? ["v1.9.4", 1] 14:36:45.045 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:36:45.048 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 14:36:45.054 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 14:36:45.055 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 14:36:45.064 [info] {"args":{},"id":1,"meta":{},"system_time":1782563805063982144,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 14:36:45.064 [info] Updating yt-dlp 14:36:45.064 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 14:36:46.909 [debug] Tzdata polling for update. 14:36:47.392 [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 Thu, 23 Apr 2026 11:51:51 GMT. 14:36:47.392 [debug] Tzdata downloading new data from https://data.iana.org/time-zones/tzdata-latest.tar.gz 14:36:47.888 [debug] Tzdata data downloaded. Release version 2026b. 14:36:48.660 [info] Tzdata has updated the release from 2025a to 2026b 14:36:48.660 [debug] Tzdata deleting ETS table for version 2025a 14:36:48.662 [debug] Tzdata deleting ETS table file for version 2025a 14:36:50.559 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Current version: stable@2025.09.26 from yt-dlp/yt-dlp Latest version: stable@2026.06.09 from yt-dlp/yt-dlp Current Build Hash: d2f07382138f4bd882254996502636f5a67a8c5ee5ab8a25807e2784a4878642 Updating to stable@2026.06.09 from yt-dlp/yt-dlp ... Updated yt-dlp to stable@2026.06.09 from yt-dlp/yt-dlp 14:36:50.559 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 14:36:51.522 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.06.09 14:36:51.556 [debug] QUERY OK source="settings" db=33.1ms idle=1463.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:51.557 [debug] QUERY OK source="settings" db=0.3ms idle=646.8ms UPDATE "settings" SET "yt_dlp_version" = ? WHERE "id" = ? ["2026.06.09", 1] 14:36:51.557 [info] {"args":{},"id":1,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6493247,"event":"job:stop","queue_time":62674,"attempt":1,"tags":["local_data"]} 14:37:00.050 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:37:15.052 [info] {"source":"oban","duration":2269,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:45.026 [info] GET / 14:37:45.026 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:37:45.054 [info] {"source":"oban","duration":1409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:45.061 [debug] QUERY OK source="settings" db=33.6ms idle=824.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:45.062 [debug] QUERY OK source="settings" db=0.4ms idle=151.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:45.063 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.4ms idle=152.2ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 14:37:45.063 [debug] QUERY OK source="sources" db=0.2ms queue=0.2ms idle=153.2ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 14:37:45.064 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=10.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:45.065 [debug] QUERY OK source="settings" db=0.3ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:45.069 [info] Sent 200 in 42ms 14:37:47.374 [info] GET / 14:37:47.374 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:37:47.376 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=465.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:47.377 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=466.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:47.377 [debug] QUERY OK source="media_profiles" db=0.0ms idle=467.4ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 14:37:47.377 [debug] QUERY OK source="sources" db=0.0ms idle=467.5ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 14:37:47.378 [debug] QUERY OK source="settings" db=0.0ms idle=167.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:47.378 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:47.379 [info] Sent 200 in 4ms 14:37:48.860 [info] GET / 14:37:48.860 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:37:48.861 [debug] QUERY OK source="settings" db=0.3ms idle=1483.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:48.862 [debug] QUERY OK source="settings" db=0.1ms idle=1484.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:48.862 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=1484.2ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 14:37:48.863 [debug] QUERY OK source="sources" db=0.3ms idle=1484.5ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 14:37:48.863 [debug] QUERY OK source="settings" db=0.2ms idle=650.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:48.864 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:48.865 [info] Sent 200 in 5ms 14:37:49.628 [info] GET / 14:37:49.628 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:37:49.629 [debug] QUERY OK source="settings" db=0.4ms idle=766.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:49.630 [debug] QUERY OK source="settings" db=0.3ms idle=766.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:49.631 [debug] QUERY OK source="media_profiles" db=0.3ms idle=766.8ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 14:37:49.631 [debug] QUERY OK source="sources" db=0.2ms idle=767.0ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 14:37:49.632 [debug] QUERY OK source="settings" db=0.2ms idle=417.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:49.632 [debug] QUERY OK source="settings" db=0.3ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:49.634 [info] Sent 200 in 6ms 14:37:49.675 [info] GET /media_profiles/new 14:37:49.676 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 14:37:49.677 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=46.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:49.678 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=46.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:49.679 [debug] QUERY OK source="settings" db=0.4ms idle=47.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:49.680 [debug] QUERY OK source="settings" db=0.2ms idle=47.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:37:49.683 [info] Sent 200 in 7ms 14:38:00.051 [info] {"source":"oban","duration":524,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:38:15.056 [info] {"source":"oban","duration":1919,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:15.401 [info] GET /.env.local 14:38:15.403 [debug] QUERY OK source="settings" db=0.3ms idle=492.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.404 [debug] QUERY OK source="settings" db=0.3ms idle=493.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.404 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:38:15.405 [error] #PID<0.2643.0> running PinchflatWeb.Endpoint (connection #PID<0.2642.0>, stream id 1) terminated Server: pinchflat.tuurvera.myaddr.io:80 (http) Request: GET /.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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2642.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "pinchflat.tuurvera.myaddr.io", peer: {{172, 19, 0, 14}, 55866}, bindings: %{}, sock: {{172, 19, 0, 15}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.tuurvera.myaddr.io", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36", "x-forwarded-for" => "121.228.2.44", "x-forwarded-host" => "pinchflat.tuurvera.myaddr.io", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "b014a4fab611", "x-real-ip" => "121.228.2.44" }, 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.tuurvera.myaddr.io", method: "GET", owner: #PID<0.2643.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.tuurvera.myaddr.io", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 19, 0, 14}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.tuurvera.myaddr.io"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36"}, {"x-forwarded-for", "121.228.2.44"}, {"x-forwarded-host", "pinchflat.tuurvera.myaddr.io"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "b014a4fab611"}, {"x-real-ip", "121.228.2.44"} ], request_path: "/.env.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLzwax7cqIRXfFgAAAIh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2642.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "pinchflat.tuurvera.myaddr.io", peer: {{172, 19, 0, 14}, 55866}, bindings: %{}, sock: {{172, 19, 0, 15}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.tuurvera.myaddr.io", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36", "x-forwarded-for" => "121.228.2.44", "x-forwarded-host" => "pinchflat.tuurvera.myaddr.io", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "b014a4fab611", "x-real-ip" => "121.228.2.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2642.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "pinchflat.tuurvera.myaddr.io", peer: {{172, 19, 0, 14}, 55866}, bindings: %{}, sock: {{172, 19, 0, 15}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "host" => "pinchflat.tuurvera.myaddr.io", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36", "x-forwarded-for" => "121.228.2.44", "x-forwarded-host" => "pinchflat.tuurvera.myaddr.io", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "b014a4fab611", "x-real-ip" => "121.228.2.44" }, 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.tuurvera.myaddr.io", method: "GET", owner: #PID<0.2643.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.tuurvera.myaddr.io", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 19, 0, 14}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"host", "pinchflat.tuurvera.myaddr.io"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36"}, {"x-fo (truncated) 14:38:40.087 [info] GET / 14:38:40.088 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:38:40.089 [debug] QUERY OK source="settings" db=1.2ms idle=1178.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.090 [debug] QUERY OK source="settings" db=0.4ms idle=1179.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.091 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1180.5ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 14:38:40.092 [debug] QUERY OK source="sources" db=0.5ms idle=1181.5ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 14:38:40.093 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=745.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.094 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 14:38:40.096 [info] Sent 200 in 8ms 14:38:44.544 [info] GET / 14:38:44.544 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:38:44.545 [debug] QUERY OK source="settings" db=0.6ms idle=634.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:44.546 [debug] QUERY OK source="settings" db=0.2ms idle=635.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:44.548 [debug] QUERY OK source="media_profiles" db=1.3ms idle=636.4ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 14:38:44.548 [debug] QUERY OK source="sources" db=0.3ms idle=638.0ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 14:38:44.549 [debug] QUERY OK source="settings" db=0.6ms idle=186.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:44.550 [debug] QUERY OK source="settings" db=0.4ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:38:44.553 [info] Sent 200 in 9ms 14:38:45.059 [info] {"source":"oban","duration":1934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:00.052 [info] {"source":"oban","duration":234,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:39:15.062 [info] {"source":"oban","duration":1878,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:32.211 [info] GET / 14:39:32.211 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:39:32.212 [debug] QUERY OK source="settings" db=0.4ms idle=1302.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:32.213 [debug] QUERY OK source="settings" db=0.3ms idle=722.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:32.213 [debug] QUERY OK source="media_profiles" db=0.1ms idle=303.7ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 14:39:32.214 [debug] QUERY OK source="sources" db=0.1ms idle=304.1ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 14:39:32.215 [debug] QUERY OK source="settings" db=0.4ms idle=304.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:32.215 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:32.217 [info] Sent 200 in 6ms 14:39:45.065 [info] {"source":"oban","duration":1817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:00.056 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:40:15.068 [info] {"source":"oban","duration":2118,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:45.070 [info] {"source":"oban","duration":917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:57.621 [info] GET /media_profiles/new 14:40:57.621 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 14:40:57.629 [debug] QUERY OK source="settings" db=4.2ms idle=1712.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:57.631 [debug] QUERY OK source="settings" db=0.3ms queue=0.5ms idle=1721.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:57.646 [debug] QUERY OK source="settings" db=1.0ms queue=1.1ms idle=969.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:57.649 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=738.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:57.653 [info] Sent 200 in 31ms 14:41:00.057 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:41:10.014 [info] GET / 14:41:10.014 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:41:10.016 [debug] QUERY OK source="settings" db=0.2ms idle=1101.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:10.016 [debug] QUERY OK source="settings" db=0.1ms idle=1101.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:10.017 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1102.2ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 14:41:10.018 [debug] QUERY OK source="sources" db=0.4ms idle=274.8ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 14:41:10.018 [debug] QUERY OK source="settings" db=0.2ms idle=103.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:10.019 [debug] QUERY OK source="settings" db=0.3ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:10.020 [info] Sent 200 in 5ms 14:41:14.342 [info] GET /media_profiles/new 14:41:14.342 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 14:41:14.347 [debug] QUERY OK source="settings" db=4.3ms idle=594.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:14.371 [debug] QUERY OK source="settings" db=23.4ms idle=432.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:14.371 [debug] QUERY OK source="settings" db=0.1ms idle=456.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:14.372 [debug] QUERY OK source="settings" db=0.2ms idle=457.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:14.374 [info] Sent 200 in 31ms 14:41:15.074 [info] {"source":"oban","duration":2887,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:17.939 [info] GET /media_profiles/new 14:41:17.939 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 14:41:17.939 [debug] QUERY OK source="settings" db=0.2ms idle=1024.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.941 [debug] QUERY OK source="settings" db=0.5ms queue=0.6ms idle=182.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.942 [debug] QUERY OK source="settings" db=0.9ms 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:41:17.943 [debug] QUERY OK source="settings" db=0.7ms 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 [] 14:41:17.944 [info] Sent 200 in 5ms 14:41:18.048 [info] GET /media_profiles/new 14:41:18.048 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 14:41:18.049 [debug] QUERY OK source="settings" db=0.5ms idle=133.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:18.050 [debug] QUERY OK source="settings" db=0.6ms idle=109.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:18.050 [debug] QUERY OK source="settings" db=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 [] 14:41:18.051 [debug] QUERY OK source="settings" db=0.7ms idle=108.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:18.053 [info] Sent 200 in 4ms 14:41:45.077 [info] {"source":"oban","duration":1791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:00.057 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:42:15.112 [info] {"source":"oban","duration":33502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:26.249 [info] GET / 14:42:26.249 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:42:26.251 [debug] QUERY OK source="settings" db=0.5ms 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 [] 14:42:26.252 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=336.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.252 [debug] QUERY OK source="media_profiles" db=0.1ms idle=337.6ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 14:42:26.254 [debug] QUERY OK source="sources" db=0.9ms idle=338.0ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 14:42:26.257 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=338.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.258 [debug] QUERY OK source="settings" db=0.1ms idle=6.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:26.260 [info] Sent 200 in 11ms 14:42:26.363 [info] GET /sources/new 14:42:26.363 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 14:42:26.365 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.3ms idle=112.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:42:26.365 [debug] QUERY OK source="settings" db=0.1ms idle=112.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:26.370 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=115.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.370 [debug] QUERY OK source="settings" db=0.2ms idle=112.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.371 [debug] QUERY OK source="settings" db=0.2ms idle=113.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:26.378 [info] Sent 200 in 14ms 14:42:26.496 [info] GET /media_profiles/new 14:42:26.496 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 14:42:26.497 [debug] QUERY OK source="settings" db=0.3ms idle=131.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.498 [debug] QUERY OK source="settings" db=0.2ms idle=132.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:26.498 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=128.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:26.499 [debug] QUERY OK source="settings" db=0.2ms idle=128.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:26.502 [info] Sent 200 in 6ms 14:42:26.640 [info] GET / 14:42:26.640 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{"onboarding" => "0"} Pipelines: [:browser] 14:42:26.641 [debug] QUERY OK source="settings" db=0.1ms idle=269.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.643 [debug] QUERY OK source="settings" db=1.4ms idle=144.1ms UPDATE "settings" SET "onboarding" = ? WHERE "id" = ? [false, 1] 14:42:26.643 [debug] QUERY OK source="settings" db=0.4ms idle=145.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.645 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.8ms idle=145.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:42:26.646 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=145.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:42:26.647 [debug] QUERY OK source="media_items" db=0.3ms queue=0.2ms idle=5.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:42:26.647 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=4.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:42:26.648 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 14:42:26.649 [debug] QUERY OK source="settings" db=0.3ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:26.650 [debug] QUERY OK source="settings" db=0.3ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:26.653 [debug] QUERY OK source="tasks" db=0.4ms idle=5.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:42:26.654 [debug] QUERY OK source="media_items" db=0.2ms queue=0.3ms 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 (NOT (m0."media_filepath" IS NULL)) [] 14:42:26.656 [debug] QUERY OK source="media_items" db=0.9ms queue=0.3ms idle=6.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."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:42:26.658 [debug] QUERY OK source="media_items" db=0.3ms queue=0.4ms idle=8.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:42:26.660 [debug] QUERY OK source="media_items" db=0.7ms queue=0.5ms idle=8.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:42:26.661 [info] Sent 200 in 21ms 14:42:26.738 [info] GET /settings 14:42:26.738 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 14:42:26.739 [debug] QUERY OK source="settings" db=0.2ms idle=85.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:26.740 [debug] QUERY OK source="settings" db=0.5ms idle=84.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.740 [debug] QUERY OK source="settings" db=0.5ms idle=83.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.741 [debug] QUERY OK source="settings" db=0.6ms idle=82.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.743 [info] Sent 200 in 4ms 14:42:26.807 [info] GET /app_info 14:42:26.807 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 14:42:26.809 [debug] QUERY OK source="settings" db=0.7ms idle=147.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.809 [debug] QUERY OK source="settings" db=0.5ms idle=69.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:26.811 [debug] QUERY OK source="settings" db=1.0ms idle=70.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.812 [debug] QUERY OK source="settings" db=0.5ms 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:42:26.813 [debug] QUERY OK source="settings" db=0.5ms idle=70.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:26.813 [info] Sent 200 in 6ms 14:42:26.884 [info] GET /sources 14:42:26.884 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 14:42:26.885 [debug] QUERY OK source="settings" db=0.2ms idle=75.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:26.885 [debug] QUERY OK source="settings" db=0.1ms idle=75.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.886 [debug] QUERY OK source="settings" db=0.3ms 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 [] 14:42:26.890 [debug] QUERY OK source="settings" db=2.3ms idle=75.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.892 [debug] QUERY OK source="settings" db=2.0ms idle=77.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.894 [debug] QUERY OK source="sources" db=0.6ms queue=0.8ms idle=7.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:42:26.896 [debug] QUERY OK source="sources" db=0.9ms queue=0.7ms idle=9.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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:42:26.897 [info] Sent 200 in 13ms 14:42:26.962 [info] GET /media_profiles 14:42:26.962 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 14:42:26.965 [debug] QUERY OK source="media_profiles" db=0.7ms queue=1.6ms idle=72.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:42:26.966 [debug] QUERY OK source="settings" db=0.3ms idle=73.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.967 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms idle=71.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:26.967 [debug] QUERY OK source="settings" db=0.3ms idle=70.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:26.969 [info] Sent 200 in 7ms 14:42:27.031 [info] GET /download_logs 14:42:27.031 [debug] Processing with PinchflatWeb.Settings.SettingController.download_logs/2 Parameters: %{} Pipelines: [:browser] 14:42:27.033 [info] Sent 200 in 2ms 14:42:27.152 [info] GET /sources/opml.xml 14:42:27.152 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.opml_feed/2 Parameters: %{"route_token" => "dd415536-ca2d-4dba-a7a8-09d34e221b72"} Pipelines: [:maybe_basic_auth, :token_protected_route] 14:42:27.154 [debug] QUERY OK source="settings" db=1.4ms idle=232.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:27.155 [debug] QUERY OK source="sources" db=0.1ms queue=0.2ms idle=189.3ms SELECT s0."custom_name", s0."uuid" FROM "sources" AS s0 WHERE (s0."marked_for_deletion_at" IS NULL) ORDER BY s0."custom_name" [] 14:42:27.155 [info] Sent 200 in 2ms 14:42:45.114 [info] {"source":"oban","duration":1331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:00.059 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:43:15.116 [info] {"source":"oban","duration":1769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:21.902 [info] GET / 14:43:21.902 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:43:21.903 [debug] QUERY OK source="settings" db=0.2ms idle=988.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:21.903 [debug] QUERY OK source="media_profiles" db=0.1ms idle=988.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:43:21.903 [debug] QUERY OK source="sources" db=0.1ms idle=988.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:43:21.904 [debug] QUERY OK source="media_items" db=0.1ms idle=988.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:43:21.904 [debug] QUERY OK source="media_items" db=0.2ms idle=821.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:43:21.904 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:21.905 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:21.905 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:21.907 [debug] QUERY OK source="tasks" db=0.2ms idle=2.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:43:21.908 [debug] QUERY OK source="media_items" db=0.3ms idle=3.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:43:21.908 [debug] QUERY OK source="media_items" db=0.4ms idle=3.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."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:43:21.909 [debug] QUERY OK source="media_items" db=0.3ms idle=4.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:43:21.910 [debug] QUERY OK source="media_items" db=0.5ms idle=4.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:43:21.911 [info] Sent 200 in 9ms 14:43:22.647 [info] CONNECTED TO Phoenix.LiveView.Socket in 185µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "NhpaYiYRelQ3IT97IDBlJGcDcwYzHwgfRw0RPY82NSX-wh0t_B9IweoL", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:43:22.759 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "dmj0vHBfyrgVWXUP8AJODzgS", "media_state" => "downloaded"} 14:43:22.760 [debug] QUERY OK source="media_items" db=0.2ms idle=852.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:43:22.761 [debug] QUERY OK source="media_items" db=0.6ms idle=852.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:43:22.761 [debug] Replied in 2ms 14:43:22.763 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "dmj0vHBfyrgVWXUP8AJODzgS", "media_state" => "pending"} 14:43:22.764 [debug] QUERY OK source="media_items" db=0.4ms idle=853.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:43:22.765 [debug] QUERY OK source="media_items" db=1.2ms idle=853.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:43:22.765 [debug] Replied in 2ms 14:43:22.766 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "dmj0vHBfyrgVWXUP8AJODzgS"} 14:43:22.767 [debug] QUERY OK source="tasks" db=0.3ms idle=681.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:43:22.767 [debug] Replied in 1ms 14:43:22.768 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "dmj0vHBfyrgVWXUP8AJODzgS"} 14:43:22.769 [debug] Replied in 189µs 14:43:45.119 [info] {"source":"oban","duration":1779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:00.061 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:44:15.122 [info] {"source":"oban","duration":1799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:45.125 [info] {"source":"oban","duration":1726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:54.670 [info] GET / 14:44:54.671 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:44:54.711 [debug] QUERY OK source="settings" db=0.4ms idle=1757.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.711 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1796.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:44:54.712 [debug] QUERY OK source="sources" db=0.4ms idle=1387.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:44:54.713 [debug] QUERY OK source="media_items" db=0.2ms idle=798.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:44:54.713 [debug] QUERY OK source="media_items" db=0.4ms idle=388.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:44:54.714 [debug] QUERY OK source="settings" db=0.5ms 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:44:54.715 [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 [] 14:44:54.716 [debug] QUERY OK source="settings" db=0.3ms 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:44:54.717 [debug] QUERY OK source="tasks" db=0.3ms idle=4.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:44:54.718 [debug] QUERY OK source="media_items" db=0.6ms idle=4.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:44:54.719 [debug] QUERY OK source="media_items" db=0.7ms idle=4.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:44:54.721 [debug] QUERY OK source="media_items" db=0.7ms idle=5.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:44:54.721 [debug] QUERY OK source="media_items" db=0.6ms idle=4.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:44:54.722 [info] Sent 200 in 52ms 14:45:00.063 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:45:15.127 [info] {"source":"oban","duration":512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:45.128 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:00.065 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:46:15.130 [info] {"source":"oban","duration":1938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:45.132 [info] {"source":"oban","duration":865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:00.067 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:47:15.135 [info] {"source":"oban","duration":1813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:45.137 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:00.069 [info] {"source":"oban","duration":287,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:48:15.139 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:28.001 [info] GET / 14:48:28.001 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:48:28.003 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=1086.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:28.004 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1087.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:48:28.004 [debug] QUERY OK source="sources" db=0.3ms idle=1088.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:48:28.005 [debug] QUERY OK source="media_items" db=0.3ms idle=125.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:48:28.006 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=89.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:48:28.007 [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 [] 14:48:28.007 [debug] QUERY OK source="settings" db=0.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 [] 14:48:28.008 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:28.010 [debug] QUERY OK source="tasks" db=0.3ms idle=4.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:48:28.012 [debug] QUERY OK source="media_items" db=0.4ms 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 (NOT (m0."media_filepath" IS NULL)) [] 14:48:28.013 [debug] QUERY OK source="media_items" db=0.6ms 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 INNER JOIN "sources" AS s1 ON s1."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:28.014 [debug] QUERY OK source="media_items" db=0.4ms idle=6.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:28.015 [debug] QUERY OK source="media_items" db=0.8ms idle=6.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:28.017 [info] Sent 200 in 15ms 14:48:45.141 [info] {"source":"oban","duration":1771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:00.074 [info] {"source":"oban","duration":297,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:49:15.144 [info] {"source":"oban","duration":2186,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:45.147 [info] {"source":"oban","duration":1251,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:00.076 [info] {"source":"oban","duration":457,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:50:15.150 [info] {"source":"oban","duration":2254,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:45.153 [info] {"source":"oban","duration":2677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:00.078 [info] {"source":"oban","duration":894,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:51:15.158 [info] {"source":"oban","duration":3548,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:45.161 [info] {"source":"oban","duration":1762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:00.082 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:52:15.164 [info] {"source":"oban","duration":1964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:45.167 [info] {"source":"oban","duration":1484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:00.084 [info] {"source":"oban","duration":946,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:53:15.173 [info] {"source":"oban","duration":5706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:45.176 [info] {"source":"oban","duration":1834,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:00.086 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:54:15.179 [info] {"source":"oban","duration":1785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:45.182 [info] {"source":"oban","duration":1843,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:00.088 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:55:15.184 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:45.185 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:00.090 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:56:15.187 [info] {"source":"oban","duration":1469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:45.189 [info] {"source":"oban","duration":1766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:00.095 [info] {"source":"oban","duration":290,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:57:15.192 [info] {"source":"oban","duration":1728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:45.195 [info] {"source":"oban","duration":1873,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:00.096 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:58:15.199 [info] {"source":"oban","duration":2203,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:45.205 [info] {"source":"oban","duration":5336,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:00.098 [info] {"source":"oban","duration":285,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:59:15.207 [info] {"source":"oban","duration":1982,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:45.211 [info] {"source":"oban","duration":2137,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:00.101 [info] {"source":"oban","duration":2636,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:00:15.212 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:45.219 [info] {"source":"oban","duration":6842,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:00.101 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:01:15.221 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:45.228 [info] {"source":"oban","duration":6059,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:00.103 [info] {"source":"oban","duration":550,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:02:15.230 [info] {"source":"oban","duration":1963,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:45.232 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:00.104 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:03:15.240 [info] {"source":"oban","duration":1748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:45.243 [info] {"source":"oban","duration":1789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:00.106 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:04:15.246 [info] {"source":"oban","duration":1737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:45.249 [info] {"source":"oban","duration":1800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:00.108 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:05:15.251 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:45.253 [info] {"source":"oban","duration":1726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:00.109 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:06:15.256 [info] {"source":"oban","duration":1775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:45.260 [info] {"source":"oban","duration":1926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:00.111 [info] {"source":"oban","duration":610,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:07:15.262 [info] {"source":"oban","duration":1748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:45.265 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:00.113 [info] {"source":"oban","duration":928,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:08:15.267 [info] {"source":"oban","duration":1765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:45.270 [info] {"source":"oban","duration":1816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:00.115 [info] {"source":"oban","duration":273,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:09:15.273 [info] {"source":"oban","duration":1822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:45.276 [info] {"source":"oban","duration":1807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:00.116 [info] {"source":"oban","duration":884,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:10:15.279 [info] {"source":"oban","duration":1691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:45.282 [info] {"source":"oban","duration":1807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:00.118 [info] {"source":"oban","duration":304,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:11:15.286 [info] {"source":"oban","duration":2336,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:45.288 [info] {"source":"oban","duration":1727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:00.118 [info] {"source":"oban","duration":248,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:12:15.291 [info] {"source":"oban","duration":1805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:45.294 [info] {"source":"oban","duration":1805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:00.120 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:13:15.297 [info] {"source":"oban","duration":1891,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:45.300 [info] {"source":"oban","duration":1761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:00.121 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:14:15.303 [info] {"source":"oban","duration":1770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:45.306 [info] {"source":"oban","duration":1764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:00.122 [info] {"source":"oban","duration":245,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:15:15.308 [info] {"source":"oban","duration":1051,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:45.311 [info] {"source":"oban","duration":1674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:00.123 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:16:15.314 [info] {"source":"oban","duration":1740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:45.321 [info] {"source":"oban","duration":5500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:00.125 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:17:15.323 [info] {"source":"oban","duration":2041,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:45.326 [info] {"source":"oban","duration":1754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:00.126 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:18:15.329 [info] {"source":"oban","duration":1271,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:45.332 [info] {"source":"oban","duration":1403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:00.127 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:19:15.334 [info] {"source":"oban","duration":1874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:45.337 [info] {"source":"oban","duration":1798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:00.131 [info] {"source":"oban","duration":836,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:20:15.340 [info] {"source":"oban","duration":1515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:45.342 [info] {"source":"oban","duration":1740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:00.132 [info] {"source":"oban","duration":941,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:21:15.373 [info] {"source":"oban","duration":29186,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:45.375 [info] {"source":"oban","duration":1292,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:00.135 [info] {"source":"oban","duration":1584,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:22:15.377 [info] {"source":"oban","duration":1745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:45.380 [info] {"source":"oban","duration":1678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:52.518 [info] GET / 15:22:52.523 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:22:52.532 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=222.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:52.539 [debug] QUERY OK source="media_profiles" db=2.5ms queue=0.1ms idle=113.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:22:52.541 [debug] QUERY OK source="sources" db=1.0ms idle=117.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:22:52.542 [debug] QUERY OK source="media_items" db=1.2ms idle=118.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:22:52.543 [debug] QUERY OK source="media_items" db=0.6ms queue=0.3ms idle=119.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:22:52.566 [debug] QUERY OK source="settings" db=0.9ms queue=0.5ms 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 [] 15:22:52.568 [debug] QUERY OK source="settings" db=1.7ms queue=0.1ms idle=26.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:52.584 [debug] QUERY OK source="settings" db=1.9ms queue=0.2ms idle=41.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:52.613 [debug] QUERY OK source="tasks" db=1.1ms queue=0.1ms idle=69.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"] 15:22:52.632 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=87.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:22:52.634 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=66.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:22:52.640 [debug] QUERY OK source="media_items" db=0.7ms queue=0.5ms idle=70.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 15:22:52.642 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=56.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:22:52.648 [info] Sent 200 in 130ms 15:23:00.136 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:23:15.383 [info] {"source":"oban","duration":1893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:45.386 [info] {"source":"oban","duration":1542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:00.137 [info] {"source":"oban","duration":249,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:24:15.388 [info] {"source":"oban","duration":2162,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:45.391 [info] {"source":"oban","duration":1690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:00.137 [info] {"source":"oban","duration":262,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:25:15.394 [info] {"source":"oban","duration":2168,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:45.397 [info] {"source":"oban","duration":1724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:00.139 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:26:15.400 [info] {"source":"oban","duration":1711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:45.403 [info] {"source":"oban","duration":1800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:00.140 [info] {"source":"oban","duration":209,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:27:15.406 [info] {"source":"oban","duration":1911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:45.409 [info] {"source":"oban","duration":1850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:00.141 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:28:15.412 [info] {"source":"oban","duration":1733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:45.415 [info] {"source":"oban","duration":1774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:00.143 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:29:15.419 [info] {"source":"oban","duration":2334,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:45.421 [info] {"source":"oban","duration":1852,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:00.144 [info] {"source":"oban","duration":287,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:30:15.425 [info] {"source":"oban","duration":2267,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:45.426 [info] {"source":"oban","duration":521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:00.146 [info] {"source":"oban","duration":247,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:31:15.427 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:45.429 [info] {"source":"oban","duration":1813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:00.147 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:32:15.432 [info] {"source":"oban","duration":1394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:45.433 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:00.149 [info] {"source":"oban","duration":965,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:33:15.435 [info] {"source":"oban","duration":1798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:45.438 [info] {"source":"oban","duration":1369,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:00.151 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:34:15.439 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:45.441 [info] {"source":"oban","duration":1896,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:00.153 [info] {"source":"oban","duration":316,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:35:15.444 [info] {"source":"oban","duration":1652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:45.447 [info] {"source":"oban","duration":2084,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:00.153 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:36:15.481 [info] {"source":"oban","duration":2147,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:45.484 [info] {"source":"oban","duration":1693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:00.155 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:37:15.487 [info] {"source":"oban","duration":2027,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:45.490 [info] {"source":"oban","duration":1778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:00.156 [info] {"source":"oban","duration":547,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:38:15.493 [info] {"source":"oban","duration":1774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:45.496 [info] {"source":"oban","duration":1701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:00.157 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:39:15.500 [info] {"source":"oban","duration":2282,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:45.503 [info] {"source":"oban","duration":2305,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:00.159 [info] {"source":"oban","duration":263,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:40:15.505 [info] {"source":"oban","duration":1959,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:45.508 [info] {"source":"oban","duration":1743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:00.159 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:41:15.512 [info] {"source":"oban","duration":2286,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:45.516 [info] {"source":"oban","duration":3640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:00.168 [info] {"source":"oban","duration":225,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:42:15.551 [info] {"source":"oban","duration":34517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:45.554 [info] {"source":"oban","duration":1546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:00.169 [info] {"source":"oban","duration":274,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:43:15.557 [info] {"source":"oban","duration":2007,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:45.560 [info] {"source":"oban","duration":1354,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:00.170 [info] {"source":"oban","duration":319,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:44:15.562 [info] {"source":"oban","duration":1996,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:45.564 [info] {"source":"oban","duration":1047,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:00.170 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:45:15.567 [info] {"source":"oban","duration":1352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:45.569 [info] {"source":"oban","duration":1735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:00.172 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:46:15.572 [info] {"source":"oban","duration":1665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:45.575 [info] {"source":"oban","duration":1744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:00.173 [info] {"source":"oban","duration":218,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:47:15.578 [info] {"source":"oban","duration":1787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:45.581 [info] {"source":"oban","duration":1718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:00.173 [info] {"source":"oban","duration":175,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:48:12.550 [info] GET / 15:48:12.554 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:48:12.594 [debug] QUERY OK source="settings" db=31.5ms queue=0.1ms idle=1125.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.601 [debug] QUERY OK source="media_profiles" db=1.7ms queue=0.1ms idle=1165.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:48:12.603 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=1167.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:48:12.604 [debug] QUERY OK source="media_items" db=0.7ms idle=1169.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:48:12.605 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=489.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:48:12.625 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms 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 [] 15:48:12.626 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=24.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:48:12.641 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=37.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:48:12.668 [debug] QUERY OK source="tasks" db=1.4ms queue=0.1ms idle=62.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 15:48:12.687 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=80.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:48:12.690 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=63.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] 15:48:12.695 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=66.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:48:12.698 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=54.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:48:12.705 [info] Sent 200 in 154ms 15:48:15.478 [info] GET /app_info 15:48:15.482 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 15:48:15.487 [debug] QUERY OK source="settings" db=0.4ms idle=1052.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.488 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1053.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.489 [debug] QUERY OK source="settings" db=0.2ms 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 [] 15:48:15.490 [debug] QUERY OK source="settings" db=0.5ms idle=1056.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.491 [debug] QUERY OK source="settings" db=0.4ms 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 [] 15:48:15.493 [info] Sent 200 in 15ms 15:48:15.585 [info] {"source":"oban","duration":2324,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:20.901 [info] GET /media_profiles 15:48:20.901 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 15:48:20.908 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=1473.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 15:48:20.911 [debug] QUERY OK source="settings" db=0.3ms 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 [] 15:48:20.912 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1478.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.913 [debug] QUERY OK source="settings" db=0.3ms idle=1479.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.919 [info] Sent 200 in 18ms 15:48:23.037 [info] GET /settings 15:48:23.040 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 15:48:23.041 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=894.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:23.045 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=610.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:23.046 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=611.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:48:23.047 [debug] QUERY OK source="settings" db=0.2ms idle=612.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:23.056 [info] Sent 200 in 19ms 15:48:25.202 [info] GET /sources 15:48:25.203 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 15:48:25.207 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=773.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:48:25.208 [debug] QUERY OK source="settings" db=0.5ms idle=774.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.210 [debug] QUERY OK source="settings" db=0.5ms idle=775.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.213 [debug] QUERY OK source="settings" db=0.5ms idle=778.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.215 [debug] QUERY OK source="settings" db=0.2ms idle=59.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:48:25.218 [debug] QUERY OK source="sources" db=0.7ms idle=10.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)) [] 15:48:25.228 [debug] QUERY OK source="sources" db=4.9ms queue=0.1ms 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", 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] 15:48:25.232 [info] Sent 200 in 29ms 15:48:32.847 [info] GET /download_logs 15:48:32.847 [debug] Processing with PinchflatWeb.Settings.SettingController.download_logs/2 Parameters: %{} Pipelines: [:browser] 15:48:32.851 [info] Sent 200 in 4ms 15:48:33.959 [info] GET /media_profiles/new 15:48:33.960 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 15:48:33.961 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1526.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:33.967 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1532.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:33.968 [debug] QUERY OK source="settings" db=0.3ms idle=1533.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:33.969 [debug] QUERY OK source="settings" db=0.8ms idle=1534.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:48:33.971 [debug] QUERY OK source="settings" db=0.2ms idle=791.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:33.978 [info] Sent 200 in 18ms 15:48:34.908 [info] GET /sources/opml.xml 15:48:34.909 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.opml_feed/2 Parameters: %{"route_token" => "dd415536-ca2d-4dba-a7a8-09d34e221b72"} Pipelines: [:maybe_basic_auth, :token_protected_route] 15:48:34.911 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=942.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:34.913 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=944.4ms SELECT s0."custom_name", s0."uuid" FROM "sources" AS s0 WHERE (s0."marked_for_deletion_at" IS NULL) ORDER BY s0."custom_name" [] 15:48:34.913 [info] Sent 200 in 4ms 15:48:35.874 [info] GET /sources/new 15:48:35.874 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 15:48:35.876 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.1ms idle=964.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 15:48:35.880 [debug] QUERY OK source="settings" db=3.1ms queue=0.1ms idle=963.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:35.889 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=702.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:35.890 [debug] QUERY OK source="settings" db=0.2ms 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 [] 15:48:35.891 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=457.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:35.892 [debug] QUERY OK source="settings" db=0.2ms 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:48:35.913 [info] Sent 200 in 39ms 15:48:45.588 [info] {"source":"oban","duration":1349,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:00.174 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:49:15.590 [info] {"source":"oban","duration":1232,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:45.591 [info] {"source":"oban","duration":1121,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:00.176 [info] {"source":"oban","duration":303,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:50:15.593 [info] {"source":"oban","duration":1198,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:45.595 [info] {"source":"oban","duration":995,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:00.177 [info] {"source":"oban","duration":269,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:51:15.597 [info] {"source":"oban","duration":819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:45.599 [info] {"source":"oban","duration":1106,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:00.178 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:52:15.601 [info] {"source":"oban","duration":1279,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:45.636 [info] {"source":"oban","duration":33534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:00.179 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:53:15.637 [info] {"source":"oban","duration":988,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:45.640 [info] {"source":"oban","duration":1819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:00.181 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:54:15.643 [info] {"source":"oban","duration":1498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:20.047 [info] GET / 15:54:20.049 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:54:20.091 [debug] QUERY OK source="settings" db=38.9ms idle=998.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.093 [debug] QUERY OK source="media_profiles" db=1.1ms idle=640.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:54:20.098 [debug] QUERY OK source="sources" db=3.8ms queue=0.2ms idle=641.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:54:20.099 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=646.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:54:20.099 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=9.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:54:20.106 [debug] QUERY OK source="settings" db=0.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:54:20.106 [debug] QUERY OK source="settings" db=0.3ms idle=12.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:54:20.110 [debug] QUERY OK source="settings" db=0.7ms 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 [] 15:54:20.116 [debug] QUERY OK source="tasks" db=1.0ms idle=16.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:54:20.121 [debug] QUERY OK source="media_items" db=0.3ms idle=21.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:54:20.123 [debug] QUERY OK source="media_items" db=1.0ms 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" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."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:54:20.128 [debug] QUERY OK source="media_items" db=1.3ms idle=19.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:54:20.130 [debug] QUERY OK source="media_items" db=1.4ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:54:20.138 [info] Sent 200 in 90ms 15:54:45.646 [info] {"source":"oban","duration":2461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:00.182 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:55:15.648 [info] {"source":"oban","duration":2074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:45.652 [info] {"source":"oban","duration":2095,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:00.183 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:56:15.654 [info] {"source":"oban","duration":1543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:45.657 [info] {"source":"oban","duration":1821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:00.184 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:57:15.660 [info] {"source":"oban","duration":1661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:45.663 [info] {"source":"oban","duration":1910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:00.186 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:58:15.666 [info] {"source":"oban","duration":1870,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:45.669 [info] {"source":"oban","duration":1744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:00.187 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:59:15.672 [info] {"source":"oban","duration":1768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:45.676 [info] {"source":"oban","duration":2237,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:00.189 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:00:15.678 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:45.680 [info] {"source":"oban","duration":1787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:00.189 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:01:15.683 [info] {"source":"oban","duration":1511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:32.671 [info] GET / 16:01:32.671 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:01:32.673 [debug] QUERY OK source="settings" db=0.7ms 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 [] 16:01:32.674 [debug] QUERY OK source="media_profiles" db=0.8ms idle=1220.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:01:32.674 [debug] QUERY OK source="sources" db=0.2ms idle=1221.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:01:32.675 [debug] QUERY OK source="media_items" db=0.5ms idle=1222.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:01:32.676 [debug] QUERY OK source="media_items" db=0.3ms idle=451.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:01:32.681 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=7.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:01:32.681 [debug] QUERY OK source="settings" db=0.3ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:01:32.682 [debug] QUERY OK source="settings" db=0.2ms idle=7.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:01:32.685 [debug] QUERY OK source="tasks" db=0.4ms idle=9.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 16:01:32.687 [debug] QUERY OK source="media_items" db=0.2ms idle=10.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:01:32.688 [debug] QUERY OK source="media_items" db=0.3ms idle=6.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."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:01:32.688 [debug] QUERY OK source="media_items" db=0.2ms idle=6.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_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:01:32.689 [debug] QUERY OK source="media_items" db=0.4ms idle=6.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:01:32.690 [info] Sent 200 in 19ms 16:01:42.581 [info] GET / 16:01:42.581 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:01:42.582 [debug] QUERY OK source="settings" db=0.4ms idle=344.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:01:42.583 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=124.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:01:42.584 [debug] QUERY OK source="sources" db=0.3ms queue=0.2ms idle=125.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:01:42.585 [debug] QUERY OK source="media_items" db=0.2ms idle=126.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:01:42.585 [debug] QUERY OK source="media_items" db=0.4ms idle=126.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:01:42.587 [debug] QUERY OK source="settings" db=0.4ms 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 [] 16:01:42.587 [debug] QUERY OK source="settings" db=0.6ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:01:42.588 [debug] QUERY OK source="settings" db=0.1ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:01:42.590 [debug] QUERY OK source="tasks" db=0.1ms idle=4.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 16:01:42.591 [debug] QUERY OK source="media_items" db=0.1ms idle=5.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:01:42.592 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=4.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."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:01:42.593 [debug] QUERY OK source="media_items" db=0.7ms idle=5.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"))) [] 16:01:42.595 [debug] QUERY OK source="media_items" db=0.9ms idle=5.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:01:42.596 [info] Sent 200 in 15ms 16:01:45.685 [info] {"source":"oban","duration":1802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:00.190 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:02:15.688 [info] {"source":"oban","duration":1800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:45.691 [info] {"source":"oban","duration":1951,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:00.192 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:03:15.694 [info] {"source":"oban","duration":1125,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:45.696 [info] {"source":"oban","duration":2085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:00.193 [info] {"source":"oban","duration":316,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:04:15.699 [info] {"source":"oban","duration":1971,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:45.701 [info] {"source":"oban","duration":862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:00.194 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:05:15.704 [info] {"source":"oban","duration":2074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:45.707 [info] {"source":"oban","duration":1271,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:00.195 [info] {"source":"oban","duration":213,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:06:15.709 [info] {"source":"oban","duration":1760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:45.712 [info] {"source":"oban","duration":2164,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:00.196 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:07:15.716 [info] {"source":"oban","duration":2253,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:45.718 [info] {"source":"oban","duration":1803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:00.198 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:08:15.721 [info] {"source":"oban","duration":1940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:45.724 [info] {"source":"oban","duration":1571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:00.199 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:09:15.727 [info] {"source":"oban","duration":1731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:45.730 [info] {"source":"oban","duration":1808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:00.202 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:10:15.733 [info] {"source":"oban","duration":1800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:45.736 [info] {"source":"oban","duration":1657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:00.203 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:11:15.739 [info] {"source":"oban","duration":1508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:45.740 [info] {"source":"oban","duration":1066,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:00.205 [info] {"source":"oban","duration":264,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:12:15.743 [info] {"source":"oban","duration":1884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:45.747 [info] {"source":"oban","duration":2228,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:00.207 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:13:15.751 [info] {"source":"oban","duration":2246,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:45.753 [info] {"source":"oban","duration":1781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:00.209 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:14:15.756 [info] {"source":"oban","duration":1709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:45.760 [info] {"source":"oban","duration":2365,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:00.211 [info] {"source":"oban","duration":299,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:15:15.762 [info] {"source":"oban","duration":1711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:45.766 [info] {"source":"oban","duration":2172,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:00.211 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:16:15.768 [info] {"source":"oban","duration":1513,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:45.770 [info] {"source":"oban","duration":1912,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:00.213 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:17:15.772 [info] {"source":"oban","duration":989,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:45.775 [info] {"source":"oban","duration":2038,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:00.215 [info] {"source":"oban","duration":258,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:18:15.778 [info] {"source":"oban","duration":1605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:45.782 [info] {"source":"oban","duration":2037,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:00.215 [info] {"source":"oban","duration":216,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:19:15.784 [info] {"source":"oban","duration":1192,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:45.787 [info] {"source":"oban","duration":1389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:00.217 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:20:15.789 [info] {"source":"oban","duration":1701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:45.792 [info] {"source":"oban","duration":1831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:00.219 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:21:15.794 [info] {"source":"oban","duration":1125,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:45.797 [info] {"source":"oban","duration":1766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:00.220 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:22:15.801 [info] {"source":"oban","duration":2235,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:45.802 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:00.222 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:23:15.804 [info] {"source":"oban","duration":1697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:45.808 [info] {"source":"oban","duration":2235,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:00.224 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:24:15.810 [info] {"source":"oban","duration":1796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:45.813 [info] {"source":"oban","duration":1597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:00.224 [info] {"source":"oban","duration":216,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:25:15.815 [info] {"source":"oban","duration":1627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:45.818 [info] {"source":"oban","duration":1783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:00.226 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:26:15.821 [info] {"source":"oban","duration":1743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:43.244 [info] GET / 16:26:43.245 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:26:43.285 [debug] QUERY OK source="settings" db=37.2ms idle=1784.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:26:43.288 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=1824.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:26:43.289 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1826.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:26:43.290 [debug] QUERY OK source="media_items" db=0.6ms idle=1295.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:26:43.290 [debug] QUERY OK source="media_items" db=0.2ms queue=0.2ms idle=294.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:26:43.297 [debug] QUERY OK source="settings" db=0.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 [] 16:26:43.297 [debug] QUERY OK source="settings" db=0.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 [] 16:26:43.301 [debug] QUERY OK source="settings" db=0.4ms 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 [] 16:26:43.318 [debug] QUERY OK source="tasks" db=14.6ms idle=13.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 16:26:43.322 [debug] QUERY OK source="media_items" db=0.4ms idle=31.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:26:43.324 [debug] QUERY OK source="media_items" db=0.6ms idle=26.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."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:26:43.328 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=29.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:26:43.330 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:26:43.332 [info] Sent 200 in 88ms 16:26:45.824 [info] {"source":"oban","duration":1803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:51.822 [info] GET / 16:26:51.822 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 16:26:51.823 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1361.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:26:51.824 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=1362.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 16:26:51.825 [debug] QUERY OK source="sources" db=0.2ms idle=1363.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 16:26:51.825 [debug] QUERY OK source="media_items" db=0.0ms idle=808.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:26:51.825 [debug] QUERY OK source="media_items" db=0.0ms idle=363.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:26:51.826 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:26:51.827 [debug] QUERY OK source="settings" db=0.7ms 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 [] 16:26:51.828 [debug] QUERY OK source="settings" db=0.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 [] 16:26:51.830 [debug] QUERY OK source="tasks" db=0.6ms idle=4.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 16:26:51.832 [debug] QUERY OK source="media_items" db=0.2ms idle=5.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:26:51.833 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=6.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 16:26:51.834 [debug] QUERY OK source="media_items" db=0.4ms idle=6.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 16:26:51.836 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=6.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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:26:51.837 [info] Sent 200 in 15ms 16:26:53.062 [info] CONNECTED TO Phoenix.LiveView.Socket in 1ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "JzAkcmd5ID8pcSRTFDQ4eipYHDksbDleffI-0IVqj4K4EmyHG3ffoZLs", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:26:53.261 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "AVm_W0vNCEogQYA2mkz_C6u-", "media_state" => "downloaded"} 16:26:53.263 [debug] QUERY OK source="media_items" db=1.0ms idle=1428.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 16:26:53.264 [debug] QUERY OK source="media_items" db=0.6ms idle=1428.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] 16:26:53.264 [debug] Replied in 2ms 16:26:53.266 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "AVm_W0vNCEogQYA2mkz_C6u-", "media_state" => "pending"} 16:26:53.268 [debug] QUERY OK source="media_items" db=0.8ms idle=1431.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 16:26:53.270 [debug] QUERY OK source="media_items" db=1.6ms idle=1248.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] 16:26:53.270 [debug] Replied in 3ms 16:26:53.272 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "AVm_W0vNCEogQYA2mkz_C6u-"} 16:26:53.273 [debug] QUERY OK source="tasks" db=0.4ms idle=249.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 16:26:53.273 [debug] Replied in 1ms 16:26:53.274 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "AVm_W0vNCEogQYA2mkz_C6u-"} 16:26:53.274 [debug] Replied in 203µs 16:27:00.228 [info] {"source":"oban","duration":508,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:27:15.827 [info] {"source":"oban","duration":1867,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:45.830 [info] {"source":"oban","duration":1293,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:00.230 [info] {"source":"oban","duration":280,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:28:15.831 [info] {"source":"oban","duration":1236,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:45.833 [info] {"source":"oban","duration":1238,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:00.231 [info] {"source":"oban","duration":563,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:29:15.836 [info] {"source":"oban","duration":1622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:45.839 [info] {"source":"oban","duration":1793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:00.233 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:30:15.842 [info] {"source":"oban","duration":1794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:45.844 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:00.235 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:31:15.845 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:45.846 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:00.238 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:32:15.848 [info] {"source":"oban","duration":1724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:45.851 [info] {"source":"oban","duration":1763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:00.240 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:33:15.854 [info] {"source":"oban","duration":1810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:45.857 [info] {"source":"oban","duration":1773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:00.241 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:34:15.859 [info] {"source":"oban","duration":1060,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:45.862 [info] {"source":"oban","duration":1610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:00.243 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:35:15.866 [info] {"source":"oban","duration":2404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:45.869 [info] {"source":"oban","duration":1342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:00.245 [info] {"source":"oban","duration":845,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:36:15.871 [info] {"source":"oban","duration":1891,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:45.874 [info] {"source":"oban","duration":1875,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:00.246 [info] {"source":"oban","duration":233,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:37:15.877 [info] {"source":"oban","duration":2057,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:45.880 [info] {"source":"oban","duration":1780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:00.248 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:38:15.883 [info] {"source":"oban","duration":1787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:45.886 [info] {"source":"oban","duration":1807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:00.250 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:39:15.889 [info] {"source":"oban","duration":1737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:45.892 [info] {"source":"oban","duration":1692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:00.251 [info] {"source":"oban","duration":284,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:40:15.895 [info] {"source":"oban","duration":1771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:45.898 [info] {"source":"oban","duration":1957,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:00.252 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:41:15.900 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:45.902 [info] {"source":"oban","duration":1821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:00.255 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:42:15.906 [info] {"source":"oban","duration":2172,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:45.908 [info] {"source":"oban","duration":1751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:00.257 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:43:15.911 [info] {"source":"oban","duration":1504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:45.914 [info] {"source":"oban","duration":1873,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:00.258 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:44:15.917 [info] {"source":"oban","duration":1675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:45.920 [info] {"source":"oban","duration":1654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:00.260 [info] {"source":"oban","duration":328,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:45:15.923 [info] {"source":"oban","duration":1778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:45.927 [info] {"source":"oban","duration":2222,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:00.261 [info] {"source":"oban","duration":926,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:46:15.930 [info] {"source":"oban","duration":2307,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:45.932 [info] {"source":"oban","duration":1744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:00.263 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:47:15.935 [info] {"source":"oban","duration":1814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:45.939 [info] {"source":"oban","duration":2393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:00.265 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:48:15.940 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:45.942 [info] {"source":"oban","duration":1777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:00.267 [info] {"source":"oban","duration":244,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:49:15.945 [info] {"source":"oban","duration":1714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:45.949 [info] {"source":"oban","duration":2236,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:00.302 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:50:15.952 [info] {"source":"oban","duration":2104,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:45.955 [info] {"source":"oban","duration":2261,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:00.303 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:51:15.956 [info] {"source":"oban","duration":1044,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:45.958 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:00.304 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:52:15.964 [info] {"source":"oban","duration":6027,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:45.966 [info] {"source":"oban","duration":1149,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:00.306 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:53:15.969 [info] {"source":"oban","duration":1717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:45.972 [info] {"source":"oban","duration":1769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:00.308 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:54:15.975 [info] {"source":"oban","duration":1897,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:45.977 [info] {"source":"oban","duration":1103,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:00.309 [info] {"source":"oban","duration":427,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:55:15.980 [info] {"source":"oban","duration":1872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:45.983 [info] {"source":"oban","duration":1772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:00.310 [info] {"source":"oban","duration":267,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:56:15.985 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:45.986 [info] {"source":"oban","duration":1106,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:00.311 [info] {"source":"oban","duration":475,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:57:15.989 [info] {"source":"oban","duration":2104,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:45.992 [info] {"source":"oban","duration":1796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:00.313 [info] {"source":"oban","duration":293,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:58:15.995 [info] {"source":"oban","duration":1281,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:45.997 [info] {"source":"oban","duration":1695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:00.314 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:59:16.000 [info] {"source":"oban","duration":1570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:46.004 [info] {"source":"oban","duration":2491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:00.315 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:00:16.006 [info] {"source":"oban","duration":1451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:46.008 [info] {"source":"oban","duration":1591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:00.316 [info] {"source":"oban","duration":261,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:01:16.009 [info] {"source":"oban","duration":901,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:46.044 [info] {"source":"oban","duration":33788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:00.318 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:02:16.047 [info] {"source":"oban","duration":1647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:46.050 [info] {"source":"oban","duration":1893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:00.320 [info] {"source":"oban","duration":541,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:03:16.052 [info] {"source":"oban","duration":1078,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:46.055 [info] {"source":"oban","duration":1974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:00.322 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:04:16.057 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:46.059 [info] {"source":"oban","duration":2136,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:00.324 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:05:16.061 [info] {"source":"oban","duration":1118,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:46.063 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:00.326 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:06:16.064 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:46.066 [info] {"source":"oban","duration":2145,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:00.327 [info] {"source":"oban","duration":167,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:07:16.068 [info] {"source":"oban","duration":1002,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:46.071 [info] {"source":"oban","duration":1736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:00.329 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:08:16.074 [info] {"source":"oban","duration":1787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:46.078 [info] {"source":"oban","duration":2246,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:00.330 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:09:16.080 [info] {"source":"oban","duration":1873,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:46.083 [info] {"source":"oban","duration":1636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:00.331 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:10:16.086 [info] {"source":"oban","duration":1838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:46.089 [info] {"source":"oban","duration":1704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:00.333 [info] {"source":"oban","duration":1151,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:11:16.091 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:46.093 [info] {"source":"oban","duration":1952,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:00.366 [info] {"source":"oban","duration":274,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:12:16.097 [info] {"source":"oban","duration":1727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:46.100 [info] {"source":"oban","duration":1852,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:00.366 [info] {"source":"oban","duration":170,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:13:16.132 [info] {"source":"oban","duration":31195,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:46.135 [info] {"source":"oban","duration":1721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:00.368 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:14:16.139 [info] {"source":"oban","duration":2389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:46.141 [info] {"source":"oban","duration":1781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:00.370 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:15:16.144 [info] {"source":"oban","duration":1963,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:46.147 [info] {"source":"oban","duration":1844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:00.374 [info] {"source":"oban","duration":3231,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:16:15.487 [info] GET /sources 17:16:15.488 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 17:16:15.526 [debug] QUERY OK source="settings" db=0.6ms idle=1932.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.526 [debug] QUERY OK source="settings" db=0.1ms idle=1934.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.528 [debug] QUERY OK source="settings" db=0.2ms idle=1936.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.530 [debug] QUERY OK source="settings" db=0.1ms idle=1914.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.531 [debug] QUERY OK source="settings" db=0.1ms idle=914.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.538 [debug] QUERY OK source="sources" db=0.9ms idle=12.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)) [] 17:16:15.542 [debug] QUERY OK source="sources" db=1.6ms 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", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 17:16:15.549 [info] Sent 200 in 61ms 17:16:16.149 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:46.152 [info] {"source":"oban","duration":2364,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:00.376 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:17:16.154 [info] {"source":"oban","duration":1743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:46.157 [info] {"source":"oban","duration":1655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:00.378 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:18:16.159 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:46.161 [info] {"source":"oban","duration":1708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:00.379 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:19:16.164 [info] {"source":"oban","duration":1582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:46.167 [info] {"source":"oban","duration":2232,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:00.381 [info] {"source":"oban","duration":1137,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:20:16.169 [info] {"source":"oban","duration":1429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:46.171 [info] {"source":"oban","duration":1777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:00.385 [info] {"source":"oban","duration":165,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:21:16.443 [info] {"source":"oban","duration":270353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:46.476 [info] {"source":"oban","duration":33287,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:00.386 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:22:16.479 [info] {"source":"oban","duration":1319,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:31.523 [info] GET /media_profiles 17:22:31.525 [info] GET /app_info 17:22:31.527 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 17:22:31.527 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 17:22:31.540 [debug] QUERY OK source="media_profiles" db=2.6ms queue=0.1ms idle=1740.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:22:31.554 [debug] QUERY OK source="settings" db=2.0ms queue=0.1ms 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 [] 17:22:31.556 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=1757.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.556 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=1715.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:22:31.558 [debug] QUERY OK source="settings" db=1.0ms queue=0.2ms idle=713.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.559 [debug] QUERY OK source="settings" db=0.7ms 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:22:31.560 [debug] QUERY OK source="settings" db=0.6ms 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 [] 17:22:31.563 [debug] QUERY OK source="settings" db=0.3ms 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 [] 17:22:31.565 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:22:31.566 [info] Sent 200 in 43ms 17:22:31.570 [info] Sent 200 in 44ms 17:22:46.482 [info] {"source":"oban","duration":2636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:00.387 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:23:16.485 [info] {"source":"oban","duration":1779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:46.604 [info] {"source":"oban","duration":117399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:00.389 [info] {"source":"oban","duration":288,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:24:17.027 [info] {"source":"oban","duration":1424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:47.029 [info] {"source":"oban","duration":1599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:00.390 [info] {"source":"oban","duration":911,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:25:17.032 [info] {"source":"oban","duration":1622,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:47.034 [info] {"source":"oban","duration":1758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:00.391 [info] {"source":"oban","duration":257,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:26:17.036 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:45.155 [notice] :alarm_handler: {:clear, :system_memory_high_watermark} 17:26:47.037 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:00.393 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:27:17.038 [info] {"source":"oban","duration":1158,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:47.042 [info] {"source":"oban","duration":961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:00.394 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:28:17.045 [info] {"source":"oban","duration":1819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:47.048 [info] {"source":"oban","duration":1492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:00.396 [info] {"source":"oban","duration":871,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:29:17.050 [info] {"source":"oban","duration":1598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:47.053 [info] {"source":"oban","duration":1675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:00.397 [info] {"source":"oban","duration":175,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:30:17.057 [info] {"source":"oban","duration":2317,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:47.058 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:00.399 [info] {"source":"oban","duration":298,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:31:17.059 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:45.189 [notice] :alarm_handler: {:set, {:system_memory_high_watermark, []}} 17:31:47.061 [info] {"source":"oban","duration":2069,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:00.400 [info] {"source":"oban","duration":907,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:32:17.065 [info] {"source":"oban","duration":2312,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:47.067 [info] {"source":"oban","duration":1409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:00.402 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:33:17.068 [info] {"source":"oban","duration":1141,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:47.071 [info] {"source":"oban","duration":1587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:00.403 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:34:17.073 [info] {"source":"oban","duration":1052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:47.077 [info] {"source":"oban","duration":2174,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:00.405 [info] {"source":"oban","duration":551,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:35:17.079 [info] {"source":"oban","duration":1836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:47.082 [info] {"source":"oban","duration":1764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:00.407 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:36:17.085 [info] {"source":"oban","duration":1964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:47.088 [info] {"source":"oban","duration":1969,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:00.409 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:37:17.092 [info] {"source":"oban","duration":2204,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:47.094 [info] {"source":"oban","duration":1817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:00.411 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:38:17.097 [info] {"source":"oban","duration":1918,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:47.100 [info] {"source":"oban","duration":1687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:00.413 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:39:17.103 [info] {"source":"oban","duration":1472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:47.106 [info] {"source":"oban","duration":2432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:00.416 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:40:17.107 [info] {"source":"oban","duration":1017,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:47.110 [info] {"source":"oban","duration":1997,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:00.416 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:41:17.113 [info] {"source":"oban","duration":1756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:47.116 [info] {"source":"oban","duration":1697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:00.463 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:42:17.120 [info] {"source":"oban","duration":2336,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:47.122 [info] {"source":"oban","duration":1797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:00.465 [info] {"source":"oban","duration":275,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:43:17.125 [info] {"source":"oban","duration":1649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:47.128 [info] {"source":"oban","duration":2202,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:00.466 [info] {"source":"oban","duration":512,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:44:17.131 [info] {"source":"oban","duration":1823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:47.134 [info] {"source":"oban","duration":2142,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:00.468 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:45:17.137 [info] {"source":"oban","duration":1659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:47.139 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:00.470 [info] {"source":"oban","duration":240,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:46:17.141 [info] {"source":"oban","duration":1679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:47.144 [info] {"source":"oban","duration":1487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:00.471 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:47:17.149 [info] {"source":"oban","duration":1745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:47.155 [info] {"source":"oban","duration":1825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:00.473 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:48:17.158 [info] {"source":"oban","duration":2007,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:47.165 [info] {"source":"oban","duration":5618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:00.474 [info] {"source":"oban","duration":219,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:49:17.168 [info] {"source":"oban","duration":1994,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:47.171 [info] {"source":"oban","duration":1775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:00.476 [info] {"source":"oban","duration":508,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:50:17.174 [info] {"source":"oban","duration":1911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:47.178 [info] {"source":"oban","duration":2033,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:00.476 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:51:17.180 [info] {"source":"oban","duration":2135,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:47.183 [info] {"source":"oban","duration":1947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:00.510 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:52:17.186 [info] {"source":"oban","duration":1942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:47.189 [info] {"source":"oban","duration":1758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:00.512 [info] {"source":"oban","duration":313,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:53:17.192 [info] {"source":"oban","duration":1727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:47.228 [info] {"source":"oban","duration":34487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:00.513 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:54:17.231 [info] {"source":"oban","duration":1203,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:47.233 [info] {"source":"oban","duration":1925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:00.514 [info] {"source":"oban","duration":280,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:55:17.236 [info] {"source":"oban","duration":1876,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:47.239 [info] {"source":"oban","duration":1838,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:00.516 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:56:17.242 [info] {"source":"oban","duration":1768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:47.245 [info] {"source":"oban","duration":1804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:00.518 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:57:17.248 [info] {"source":"oban","duration":1812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:47.251 [info] {"source":"oban","duration":1792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:00.520 [info] {"source":"oban","duration":215,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:58:17.255 [info] {"source":"oban","duration":2422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:47.257 [info] {"source":"oban","duration":945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:00.520 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:59:17.260 [info] {"source":"oban","duration":1572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:17.626 [info] GET /sitemap.xml 17:59:17.669 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=897.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.670 [debug] QUERY OK source="settings" db=0.3ms idle=899.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.671 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 17:59:17.673 [error] #PID<0.3721.0> running PinchflatWeb.Endpoint (connection #PID<0.3720.0>, stream id 1) terminated Server: pinchflat.tuurvera.myaddr.io:80 (http) Request: GET /sitemap.xml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sitemap (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3720.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "pinchflat.tuurvera.myaddr.io", peer: {{172, 19, 0, 14}, 59054}, bindings: %{}, sock: {{172, 19, 0, 15}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.tuurvera.myaddr.io", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.60", "x-forwarded-host" => "pinchflat.tuurvera.myaddr.io", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "b014a4fab611", "x-real-ip" => "216.73.217.60" }, 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.tuurvera.myaddr.io", method: "GET", owner: #PID<0.3721.0>, params: %{}, path_info: ["sitemap"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.tuurvera.myaddr.io", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 19, 0, 14}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.tuurvera.myaddr.io"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.60"}, {"x-forwarded-host", "pinchflat.tuurvera.myaddr.io"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "b014a4fab611"}, {"x-real-ip", "216.73.217.60"} ], request_path: "/sitemap.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GLz7Y5N0P1Bm36UAACoh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3720.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "pinchflat.tuurvera.myaddr.io", peer: {{172, 19, 0, 14}, 59054}, bindings: %{}, sock: {{172, 19, 0, 15}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.tuurvera.myaddr.io", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.60", "x-forwarded-host" => "pinchflat.tuurvera.myaddr.io", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "b014a4fab611", "x-real-ip" => "216.73.217.60" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sitemap (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3720.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "pinchflat.tuurvera.myaddr.io", peer: {{172, 19, 0, 14}, 59054}, bindings: %{}, sock: {{172, 19, 0, 15}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.tuurvera.myaddr.io", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.60", "x-forwarded-host" => "pinchflat.tuurvera.myaddr.io", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "b014a4fab611", "x-real-ip" => "216.73.217.60" }, 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.tuurvera.myaddr.io", method: "GET", owner: #PID<0.3721.0>, params: %{}, path_info: ["sitemap"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.tuurvera.myaddr.io", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 19, 0, 14}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.tuurvera.myaddr.io"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like G (truncated) 17:59:47.265 [info] {"source":"oban","duration":3640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:00.521 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:00:17.268 [info] {"source":"oban","duration":1826,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:47.271 [info] {"source":"oban","duration":1824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:00.522 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:01:17.275 [info] {"source":"oban","duration":2903,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:47.278 [info] {"source":"oban","duration":1888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:00.524 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:02:17.281 [info] {"source":"oban","duration":1734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:47.284 [info] {"source":"oban","duration":2210,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:00.526 [info] {"source":"oban","duration":287,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:03:17.287 [info] {"source":"oban","duration":1864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:47.290 [info] {"source":"oban","duration":1807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:00.527 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:04:17.293 [info] {"source":"oban","duration":1672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:47.297 [info] {"source":"oban","duration":2195,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:00.529 [info] {"source":"oban","duration":893,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:05:17.302 [info] {"source":"oban","duration":4449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:47.304 [info] {"source":"oban","duration":1712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:00.530 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:06:17.306 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:47.307 [info] {"source":"oban","duration":1198,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:00.532 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:07:17.310 [info] {"source":"oban","duration":1884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:47.313 [info] {"source":"oban","duration":1736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:00.534 [info] {"source":"oban","duration":897,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:08:17.316 [info] {"source":"oban","duration":1990,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:47.319 [info] {"source":"oban","duration":1310,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:00.535 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:09:17.320 [info] {"source":"oban","duration":1106,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:47.323 [info] {"source":"oban","duration":1835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:00.537 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:10:17.326 [info] {"source":"oban","duration":1549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:47.329 [info] {"source":"oban","duration":1894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:00.539 [info] {"source":"oban","duration":1048,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:11:17.332 [info] {"source":"oban","duration":1991,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:47.334 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:00.540 [info] {"source":"oban","duration":210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:12:17.337 [info] {"source":"oban","duration":1581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:47.340 [info] {"source":"oban","duration":1729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:00.542 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:13:17.343 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:47.344 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:00.544 [info] {"source":"oban","duration":332,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:14:17.346 [info] {"source":"oban","duration":1995,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:47.350 [info] {"source":"oban","duration":2250,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:00.545 [info] {"source":"oban","duration":241,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:15:17.352 [info] {"source":"oban","duration":2108,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:47.355 [info] {"source":"oban","duration":1750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:00.546 [info] {"source":"oban","duration":465,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:16:17.358 [info] {"source":"oban","duration":1751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:47.361 [info] {"source":"oban","duration":2016,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:00.547 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:17:17.364 [info] {"source":"oban","duration":1763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:47.367 [info] {"source":"oban","duration":1765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:00.547 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:18:17.370 [info] {"source":"oban","duration":1809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:47.373 [info] {"source":"oban","duration":1778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:00.549 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:19:17.376 [info] {"source":"oban","duration":1696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:47.380 [info] {"source":"oban","duration":2091,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:00.549 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:20:17.382 [info] {"source":"oban","duration":1693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:47.385 [info] {"source":"oban","duration":1825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:00.551 [info] {"source":"oban","duration":1000,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:21:17.387 [info] {"source":"oban","duration":821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:47.390 [info] {"source":"oban","duration":3119,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:00.553 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:22:17.393 [info] {"source":"oban","duration":1768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:47.396 [info] {"source":"oban","duration":1756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:00.554 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:23:17.399 [info] {"source":"oban","duration":1698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:47.402 [info] {"source":"oban","duration":1737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:00.556 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:24:17.405 [info] {"source":"oban","duration":1783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:47.408 [info] {"source":"oban","duration":1751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:00.558 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:25:17.411 [info] {"source":"oban","duration":1729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:47.414 [info] {"source":"oban","duration":1718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:00.560 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:26:17.417 [info] {"source":"oban","duration":1748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:47.420 [info] {"source":"oban","duration":1694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:00.562 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:27:17.423 [info] {"source":"oban","duration":1822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:47.427 [info] {"source":"oban","duration":2507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:00.564 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:28:17.429 [info] {"source":"oban","duration":1560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:47.431 [info] {"source":"oban","duration":2026,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:00.566 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:29:17.435 [info] {"source":"oban","duration":2319,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:47.437 [info] {"source":"oban","duration":1952,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:00.567 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:30:17.440 [info] {"source":"oban","duration":1693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:47.442 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:00.569 [info] {"source":"oban","duration":498,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:31:17.444 [info] {"source":"oban","duration":1817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:47.011 [info] GET /sources/opml.xml 18:31:47.013 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.opml_feed/2 Parameters: %{"route_token" => "dd415536-ca2d-4dba-a7a8-09d34e221b72"} Pipelines: [:maybe_basic_auth, :token_protected_route] 18:31:47.015 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=889.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:47.019 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=234.6ms SELECT s0."custom_name", s0."uuid" FROM "sources" AS s0 WHERE (s0."marked_for_deletion_at" IS NULL) ORDER BY s0."custom_name" [] 18:31:47.019 [info] Sent 200 in 7ms 18:31:47.446 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:00.570 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:32:17.448 [info] {"source":"oban","duration":1841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:47.450 [info] {"source":"oban","duration":1229,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:00.572 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:33:17.453 [info] {"source":"oban","duration":1889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:47.455 [info] {"source":"oban","duration":1060,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:00.574 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:34:17.458 [info] {"source":"oban","duration":1638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:47.492 [info] {"source":"oban","duration":32719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:00.577 [info] {"source":"oban","duration":290,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:35:17.495 [info] {"source":"oban","duration":1979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:47.497 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:00.578 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:36:17.500 [info] {"source":"oban","duration":1604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:47.502 [info] {"source":"oban","duration":1695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:00.580 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:37:17.506 [info] {"source":"oban","duration":2275,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:47.508 [info] {"source":"oban","duration":1869,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:00.582 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:38:17.514 [info] {"source":"oban","duration":4849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:47.516 [info] {"source":"oban","duration":936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:55.825 [info] GET /sources/new 18:38:55.826 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 18:38:55.863 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=1033.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:38:55.865 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=1066.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:55.883 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=1084.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:55.884 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1085.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:55.888 [debug] QUERY OK source="settings" db=0.4ms idle=683.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:55.892 [debug] QUERY OK source="settings" db=0.3ms idle=59.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:55.934 [info] Sent 200 in 108ms 18:39:00.584 [info] {"source":"oban","duration":843,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:39:17.519 [info] {"source":"oban","duration":1945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:47.522 [info] {"source":"oban","duration":1820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:00.585 [info] {"source":"oban","duration":167,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:40:08.079 [info] POST /media_profiles 18:40:08.084 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.create/2 Parameters: %{"_csrf_token" => "IhY1Xy41JzgRNT0XN35_JXgKFjIRAD85AuqiYpJyXCmynL4m9SqKtIxX", "media_profile" => %{"audio_track" => "", "download_auto_subs" => "false", "download_metadata" => "false", "download_nfo" => "false", "download_source_images" => "false", "download_subs" => "true", "download_thumbnail" => "true", "embed_metadata" => "true", "embed_subs" => "true", "embed_thumbnail" => "true", "livestream_behaviour" => "exclude", "media_container" => "", "name" => "Default", "output_path_template" => "/{{ source_custom_name }}/{{ upload_yyyy_mm_dd }} {{ title }}/{{ title }} [{{ id }}].{{ ext }}", "preferred_resolution" => "1080p", "redownload_delay_days" => "", "shorts_behaviour" => "include", "sponsorblock_behaviour" => "disabled", "sub_langs" => "en"}, "media_profile_preset" => ""} Pipelines: [:browser] 18:40:08.275 [debug] QUERY OK source="media_profiles" db=58.1ms queue=0.1ms idle=1419.5ms INSERT INTO "media_profiles" ("name","download_nfo","preferred_resolution","output_path_template","sponsorblock_categories","sponsorblock_behaviour","download_thumbnail","embed_thumbnail","download_auto_subs","download_subs","embed_subs","sub_langs","download_metadata","embed_metadata","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" ["Default", false, :"1080p", "/{{ source_custom_name }}/{{ upload_yyyy_mm_dd }} {{ title }}/{{ title }} [{{ id }}].{{ ext }}", [], :disabled, true, true, false, true, true, "en", false, true, false, :exclude, :include, ~U[2026-06-27 16:40:08Z], ~U[2026-06-27 16:40:08Z]] 18:40:08.276 [debug] QUERY OK source="settings" db=0.4ms idle=870.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.278 [info] Sent 302 in 199ms 18:40:08.291 [info] GET /media_profiles/1 18:40:08.292 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 18:40:08.429 [debug] QUERY OK source="media_profiles" db=0.8ms queue=117.9ms idle=513.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:40:08.472 [debug] QUERY OK source="sources" db=33.2ms queue=0.4ms idle=641.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 18:40:08.474 [debug] QUERY OK source="settings" db=0.1ms idle=198.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.474 [debug] QUERY OK source="settings" db=0.1ms idle=198.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.475 [debug] QUERY OK source="settings" db=0.1ms idle=45.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:08.629 [info] Sent 200 in 338ms 18:40:08.751 [info] CONNECTED TO Phoenix.LiveView.Socket in 334µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DDsVUU8uFDB8RDgICWAeAyw7VjZSHi4yoXQg8kyq52hfPRUKmb1O7WiS", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:40:08.964 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:40:08.964 [debug] Replied in 193µs 18:40:13.371 [info] GET /settings 18:40:13.371 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 18:40:13.372 [debug] QUERY OK source="settings" db=0.2ms idle=1462.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:13.373 [debug] QUERY OK source="settings" db=0.1ms idle=1463.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:13.374 [debug] QUERY OK source="settings" db=0.2ms idle=1464.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:13.374 [debug] QUERY OK source="settings" db=0.2ms idle=1464.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:13.378 [info] Sent 200 in 7ms 18:40:13.469 [info] CONNECTED TO Phoenix.LiveView.Socket in 41µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "OjUncg42Ijd7Ah0aK3UZHysxIQ4KEDMDYVcDysOv2tMtrGRWjhFwoYtb", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:40:13.477 [debug] MOUNT Pinchflat.Settings.AppriseServerLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "value" => nil} 18:40:13.477 [debug] Replied in 134µs 18:40:13.478 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:40:13.478 [debug] Replied in 143µs 18:40:17.526 [info] {"source":"oban","duration":2369,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:24.964 [info] GET / 18:40:24.965 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 18:40:24.966 [debug] QUERY OK source="settings" db=0.3ms idle=450.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.003 [debug] QUERY OK source="media_profiles" db=34.2ms queue=0.1ms idle=58.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 18:40:25.005 [debug] QUERY OK source="sources" db=1.2ms queue=0.5ms idle=93.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 18:40:25.007 [debug] QUERY OK source="media_items" db=1.0ms queue=0.8ms idle=95.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:40:25.009 [debug] QUERY OK source="media_items" db=0.9ms queue=0.4ms idle=97.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:40:25.010 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 18:40:25.011 [debug] QUERY OK source="settings" db=0.2ms idle=8.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:25.012 [debug] QUERY OK source="settings" db=0.1ms idle=6.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:25.019 [debug] QUERY OK source="tasks" db=0.5ms idle=10.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 18:40:25.021 [debug] QUERY OK source="media_items" db=0.2ms queue=0.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 (NOT (m0."media_filepath" IS NULL)) [] 18:40:25.022 [debug] QUERY OK source="media_items" db=0.5ms idle=11.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:40:25.025 [debug] QUERY OK source="media_items" db=1.2ms queue=0.2ms idle=12.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 18:40:25.027 [debug] QUERY OK source="media_items" db=1.0ms idle=13.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:40:25.029 [info] Sent 200 in 64ms 18:40:25.126 [info] CONNECTED TO Phoenix.LiveView.Socket in 119µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "PA5wBg0mKzt_LwAiC1UqMgotDzg2OgYD_m40zcFz6YPLRgazKthASsAb", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:40:25.132 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "media_state" => "downloaded"} 18:40:25.133 [debug] QUERY OK source="media_items" db=0.6ms idle=113.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)) [] 18:40:25.134 [debug] QUERY OK source="media_items" db=0.6ms idle=112.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] 18:40:25.134 [debug] Replied in 2ms 18:40:25.135 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "media_state" => "pending"} 18:40:25.136 [debug] QUERY OK source="media_items" db=0.4ms idle=113.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"))) [] 18:40:25.138 [debug] QUERY OK source="media_items" db=1.0ms idle=111.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:40:25.138 [debug] Replied in 2ms 18:40:25.140 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:40:25.141 [debug] QUERY OK source="tasks" db=0.8ms idle=113.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"] 18:40:25.142 [debug] Replied in 1ms 18:40:25.143 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:40:25.143 [debug] Replied in 176µs 18:40:31.032 [info] GET /app_info 18:40:31.033 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 18:40:31.034 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 18:40:31.035 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=124.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:31.036 [debug] QUERY OK source="settings" db=0.2ms idle=126.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:31.038 [debug] QUERY OK source="settings" db=0.1ms idle=127.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:31.038 [debug] QUERY OK source="settings" db=0.3ms idle=128.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:31.040 [info] Sent 200 in 7ms 18:40:31.122 [info] CONNECTED TO Phoenix.LiveView.Socket in 28µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "URMzUyFxARsWBwInLn8aOiM2VS8NAC4R2pweV4lZ_qRIwMQrbo2VhIip", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:40:31.133 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:40:31.133 [debug] Replied in 109µs 18:40:33.456 [info] GET /settings 18:40:33.456 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 18:40:33.460 [debug] QUERY OK source="settings" db=3.3ms idle=921.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:33.461 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=550.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:33.462 [debug] QUERY OK source="settings" db=0.2ms idle=551.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:33.464 [debug] QUERY OK source="settings" db=0.6ms idle=553.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:33.469 [info] Sent 200 in 12ms 18:40:33.561 [info] CONNECTED TO Phoenix.LiveView.Socket in 70µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Uy13ehN8H2xkN2YUCkg_fhAzKy8TGT4C0N3Ld9r--A6zSzt6QjLVvPyc", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:40:33.570 [debug] MOUNT Pinchflat.Settings.AppriseServerLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "value" => nil} 18:40:33.570 [debug] Replied in 210µs 18:40:33.572 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:40:33.572 [debug] Replied in 197µs 18:40:41.126 [info] GET / 18:40:41.126 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 18:40:41.128 [debug] QUERY OK source="settings" db=0.4ms idle=572.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:41.128 [debug] QUERY OK source="media_profiles" db=0.1ms idle=218.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 18:40:41.129 [debug] QUERY OK source="sources" db=0.2ms idle=219.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 18:40:41.129 [debug] QUERY OK source="media_items" db=0.1ms idle=219.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:40:41.129 [debug] QUERY OK source="media_items" db=0.0ms idle=219.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:40:41.130 [debug] QUERY OK source="settings" db=0.4ms 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 [] 18:40:41.130 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:41.131 [debug] QUERY OK source="settings" db=0.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 [] 18:40:41.133 [debug] QUERY OK source="tasks" db=0.2ms idle=3.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"] 18:40:41.133 [debug] QUERY OK source="media_items" db=0.2ms idle=4.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)) [] 18:40:41.134 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:40:41.135 [debug] QUERY OK source="media_items" db=0.3ms idle=3.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"))) [] 18:40:41.136 [debug] QUERY OK source="media_items" db=0.7ms idle=3.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:40:41.137 [info] Sent 200 in 10ms 18:40:41.213 [info] CONNECTED TO Phoenix.LiveView.Socket in 32µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "OTFzcx5oLjcxIj4DLV8PcBk9XgstHSMAZR7Ei-CvxTnmtmD8Xd9rHTda", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:40:41.218 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "media_state" => "downloaded"} 18:40:41.219 [debug] QUERY OK source="media_items" db=0.2ms idle=85.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)) [] 18:40:41.219 [debug] QUERY OK source="media_items" db=0.3ms idle=85.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:40:41.220 [debug] Replied in 1ms 18:40:41.221 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "media_state" => "pending"} 18:40:41.222 [debug] QUERY OK source="media_items" db=0.8ms idle=87.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"))) [] 18:40:41.223 [debug] QUERY OK source="media_items" db=0.4ms idle=87.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] 18:40:41.223 [debug] Replied in 1ms 18:40:41.223 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:40:41.224 [debug] QUERY OK source="tasks" db=0.2ms idle=87.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"] 18:40:41.224 [debug] Replied in 577µs 18:40:41.224 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:40:41.224 [debug] Replied in 88µs 18:40:47.036 [info] GET /sources 18:40:47.036 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 18:40:47.038 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=466.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:47.039 [debug] QUERY OK source="settings" db=0.4ms idle=129.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:47.040 [debug] QUERY OK source="settings" db=0.3ms idle=130.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:47.041 [debug] QUERY OK source="settings" db=0.2ms idle=131.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:47.043 [debug] QUERY OK source="settings" db=0.2ms idle=132.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:47.047 [debug] QUERY OK source="sources" db=1.0ms idle=7.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)) [] 18:40:47.052 [debug] QUERY OK source="sources" db=2.8ms idle=10.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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] 18:40:47.055 [info] Sent 200 in 18ms 18:40:47.139 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DA0-Uht9XDsmRjgFaEoaMXQ_Mwg2EQpSonzdl81zo0hk1xQy5fTqSXM3", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:40:47.146 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 18:40:47.147 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=106.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)) [] 18:40:47.150 [debug] QUERY OK source="sources" db=2.2ms queue=0.2ms idle=106.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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] 18:40:47.151 [debug] Replied in 5ms 18:40:47.152 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:40:47.153 [debug] Replied in 188µs 18:40:47.528 [info] {"source":"oban","duration":1850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:48.655 [info] GET /sources/new 18:40:48.656 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 18:40:48.658 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.2ms idle=1509.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:40:48.659 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms idle=1507.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:48.660 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1131.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:48.661 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1085.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:48.662 [debug] QUERY OK source="settings" db=0.2ms idle=82.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:48.663 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:48.668 [info] Sent 200 in 12ms 18:40:48.783 [info] CONNECTED TO Phoenix.LiveView.Socket in 80µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Jy8-TzpzDCUAMCQGMQcdDzkBBSlRHgA4DLzyM6adIFthh5VGxXbP4WGY", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:40:48.792 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:40:48.792 [debug] Replied in 267µs 18:40:52.136 [info] GET /sources 18:40:52.136 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 18:40:52.137 [debug] QUERY OK source="settings" db=0.4ms idle=549.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:52.137 [debug] QUERY OK source="settings" db=0.4ms idle=227.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:52.140 [debug] QUERY OK source="settings" db=2.1ms idle=228.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:52.141 [debug] QUERY OK source="settings" db=0.4ms idle=231.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:52.141 [debug] QUERY OK source="settings" db=0.1ms idle=231.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:52.142 [debug] QUERY OK source="sources" db=0.4ms idle=5.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)) [] 18:40:52.144 [debug] QUERY OK source="sources" db=0.9ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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] 18:40:52.145 [info] Sent 200 in 8ms 18:40:54.805 [info] GET / 18:40:54.806 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 18:40:54.807 [debug] QUERY OK source="settings" db=0.5ms idle=896.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:54.807 [debug] QUERY OK source="media_profiles" db=0.3ms idle=897.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 18:40:54.808 [debug] QUERY OK source="sources" db=0.4ms idle=897.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 18:40:54.808 [debug] QUERY OK source="media_items" db=0.1ms idle=898.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:40:54.808 [debug] QUERY OK source="media_items" db=0.1ms idle=215.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:40:54.809 [debug] QUERY OK source="settings" db=0.4ms 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 [] 18:40:54.809 [debug] QUERY OK source="settings" db=0.2ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:54.810 [debug] QUERY OK source="settings" db=0.3ms 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 [] 18:40:54.813 [debug] QUERY OK source="tasks" db=1.1ms idle=3.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 18:40:54.814 [debug] QUERY OK source="media_items" db=0.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 (NOT (m0."media_filepath" IS NULL)) [] 18:40:54.814 [debug] QUERY OK source="media_items" db=0.3ms 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] 18:40:54.815 [debug] QUERY OK source="media_items" db=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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 18:40:54.816 [debug] QUERY OK source="media_items" db=0.7ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:40:54.817 [info] Sent 200 in 11ms 18:40:55.081 [info] CONNECTED TO Phoenix.LiveView.Socket in 33µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "OTt8AUUfCAQjDgJYO3h9AjRpEk0CcD4kZX872ZeEjxR6bJ6Ju0u4g9yE", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:40:55.087 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "media_state" => "downloaded"} 18:40:55.088 [debug] QUERY OK source="media_items" db=0.6ms idle=274.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)) [] 18:40:55.089 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=275.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:40:55.090 [debug] Replied in 2ms 18:40:55.091 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "media_state" => "pending"} 18:40:55.092 [debug] QUERY OK source="media_items" db=0.8ms idle=277.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"))) [] 18:40:55.094 [debug] QUERY OK source="media_items" db=1.5ms idle=277.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] 18:40:55.095 [debug] Replied in 3ms 18:40:55.096 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:40:55.098 [debug] QUERY OK source="tasks" db=0.6ms idle=280.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"] 18:40:55.098 [debug] Replied in 1ms 18:40:55.099 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:40:55.099 [debug] Replied in 191µs 18:40:55.431 [info] GET /sources 18:40:55.431 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 18:40:55.431 [debug] QUERY OK source="settings" db=0.3ms idle=342.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:55.432 [debug] QUERY OK source="settings" db=0.2ms 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:40:55.433 [debug] QUERY OK source="settings" db=0.6ms idle=339.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:55.434 [debug] QUERY OK source="settings" db=0.3ms idle=339.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:55.434 [debug] QUERY OK source="settings" db=0.3ms idle=336.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:55.436 [debug] QUERY OK source="sources" db=0.6ms idle=3.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)) [] 18:40:55.437 [debug] QUERY OK source="sources" db=1.2ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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] 18:40:55.440 [info] Sent 200 in 9ms 18:40:55.625 [info] CONNECTED TO Phoenix.LiveView.Socket in 48µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "CTB1AwArIzcmBSYgIVQyBCATPi8sPHAJjS15wnNvosvNxfyLaJYVIu7h", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:40:55.632 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 18:40:55.635 [debug] QUERY OK source="sources" db=2.3ms idle=198.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)) [] 18:40:55.639 [debug] QUERY OK source="sources" db=2.8ms idle=201.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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] 18:40:55.639 [debug] Replied in 6ms 18:40:55.640 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:40:55.640 [debug] Replied in 104µs 18:40:56.638 [info] GET /sources 18:40:56.639 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 18:40:56.640 [debug] QUERY OK source="settings" db=0.7ms idle=1201.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:56.640 [debug] QUERY OK source="settings" db=0.2ms idle=1045.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:56.641 [debug] QUERY OK source="settings" db=0.1ms idle=1005.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:56.641 [debug] QUERY OK source="settings" db=0.1ms idle=1002.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:56.642 [debug] QUERY OK source="settings" db=0.4ms 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 [] 18:40:56.644 [debug] QUERY OK source="sources" db=0.8ms idle=3.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)) [] 18:40:56.646 [debug] QUERY OK source="sources" db=1.3ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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] 18:40:56.647 [info] Sent 200 in 8ms 18:40:56.723 [info] CONNECTED TO Phoenix.LiveView.Socket in 48µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DxQxTBE3I3UcGAE7KGEHPBEPISoALh8xlwuzfrN4UnQUqSLtPVFSegXP", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:40:56.729 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 18:40:56.730 [debug] QUERY OK source="sources" db=0.7ms idle=88.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)) [] 18:40:56.734 [debug] QUERY OK source="sources" db=2.3ms queue=0.1ms idle=89.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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] 18:40:56.734 [debug] Replied in 4ms 18:40:56.736 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:40:56.736 [debug] Replied in 224µs 18:40:57.338 [info] GET /sources/new 18:40:57.338 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 18:40:57.339 [debug] QUERY OK source="media_profiles" db=0.3ms idle=696.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:40:57.340 [debug] QUERY OK source="settings" db=0.2ms queue=0.3ms idle=695.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:57.341 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=694.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:57.342 [debug] QUERY OK source="settings" db=0.7ms idle=610.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:57.343 [debug] QUERY OK source="settings" db=0.2ms idle=609.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:40:57.345 [debug] QUERY OK source="settings" db=0.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 [] 18:40:57.352 [info] Sent 200 in 13ms 18:40:57.445 [info] CONNECTED TO Phoenix.LiveView.Socket in 71µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ATwzfEINPTgsJwQ-GEojKzYqVUgvIBBMb_wJ5HPyeQTPAxhcws21JiW-", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:40:57.452 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:40:57.452 [debug] Replied in 214µs 18:41:00.587 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:41:04.373 [info] GET / 18:41:04.373 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 18:41:04.374 [debug] QUERY OK source="settings" db=0.2ms idle=1463.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.376 [debug] QUERY OK source="media_profiles" db=1.9ms idle=1464.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 18:41:04.376 [debug] QUERY OK source="sources" db=0.1ms idle=1466.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 18:41:04.376 [debug] QUERY OK source="media_items" db=0.1ms idle=767.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:41:04.377 [debug] QUERY OK source="media_items" db=0.1ms idle=467.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:41:04.377 [debug] QUERY OK source="settings" db=0.3ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:41:04.378 [debug] QUERY OK source="settings" db=0.2ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:41:04.378 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:41:04.379 [debug] QUERY OK source="tasks" db=0.2ms idle=2.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"] 18:41:04.380 [debug] QUERY OK source="media_items" db=0.1ms idle=3.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:41:04.386 [debug] QUERY OK source="media_items" db=6.1ms idle=2.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:41:04.387 [debug] QUERY OK source="media_items" db=0.2ms idle=9.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 18:41:04.388 [debug] QUERY OK source="media_items" db=0.6ms idle=8.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] 18:41:04.389 [info] Sent 200 in 15ms 18:41:04.459 [info] CONNECTED TO Phoenix.LiveView.Socket in 30µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "E1s2BUQpHjc4OxclNQF4MDkJAQwPJRhWp8r33lsvqMGKl33xxPfujl_7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:41:04.467 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "media_state" => "downloaded"} 18:41:04.467 [debug] QUERY OK source="media_items" db=0.5ms idle=87.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)) [] 18:41:04.468 [debug] QUERY OK source="media_items" db=0.4ms idle=87.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:41:04.468 [debug] Replied in 1ms 18:41:04.469 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "media_state" => "pending"} 18:41:04.470 [debug] QUERY OK source="media_items" db=0.5ms idle=82.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"))) [] 18:41:04.470 [debug] QUERY OK source="media_items" db=0.5ms idle=82.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] 18:41:04.470 [debug] Replied in 1ms 18:41:04.471 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:41:04.471 [debug] QUERY OK source="tasks" db=0.2ms idle=83.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"] 18:41:04.472 [debug] Replied in 641µs 18:41:04.472 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:41:04.472 [debug] Replied in 118µs 18:41:04.964 [info] GET /media_profiles 18:41:04.965 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 18:41:04.967 [debug] QUERY OK source="media_profiles" db=1.1ms idle=497.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 18:41:04.968 [debug] QUERY OK source="settings" db=0.3ms 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 [] 18:41:04.969 [debug] QUERY OK source="settings" db=0.2ms idle=498.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.970 [debug] QUERY OK source="settings" db=0.3ms idle=497.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.972 [info] Sent 200 in 7ms 18:41:05.045 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ElsIWxYrQDt4PxIvP14yLXM2Dz4wKHECq8Lman-z1IBAflye2ohGUa6c", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:41:05.053 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:41:05.053 [debug] Replied in 175µs 18:41:10.473 [info] GET / 18:41:10.473 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 18:41:10.473 [debug] QUERY OK source="settings" db=0.2ms idle=1563.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:10.474 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1564.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 18:41:10.474 [debug] QUERY OK source="sources" db=0.3ms idle=1564.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 18:41:10.475 [debug] QUERY OK source="media_items" db=0.1ms idle=1564.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:41:10.475 [debug] QUERY OK source="media_items" db=0.0ms queue=0.1ms idle=852.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:41:10.475 [debug] QUERY OK source="settings" db=0.2ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:41:10.476 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:41:10.477 [debug] QUERY OK source="settings" db=0.3ms 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 [] 18:41:10.478 [debug] QUERY OK source="tasks" db=0.1ms idle=2.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"] 18:41:10.479 [debug] QUERY OK source="media_items" db=0.1ms queue=0.1ms 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 (NOT (m0."media_filepath" IS NULL)) [] 18:41:10.479 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:41:10.480 [debug] QUERY OK source="media_items" db=0.1ms idle=3.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"))) [] 18:41:10.480 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:41:10.481 [info] Sent 200 in 8ms 18:41:10.742 [info] CONNECTED TO Phoenix.LiveView.Socket in 70µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "BFYWRD1xGCMgBxgkNHQofngUCQBcHCE7g5RrJ4ubiqHJmFc69Mny9UfZ", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:41:10.750 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "media_state" => "downloaded"} 18:41:10.750 [debug] QUERY OK source="media_items" db=0.3ms idle=271.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)) [] 18:41:10.751 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=271.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:41:10.752 [debug] Replied in 2ms 18:41:10.753 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "media_state" => "pending"} 18:41:10.754 [debug] QUERY OK source="media_items" db=0.7ms idle=273.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"))) [] 18:41:10.755 [debug] QUERY OK source="media_items" db=0.9ms idle=273.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] 18:41:10.755 [debug] Replied in 2ms 18:41:10.756 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:41:10.757 [debug] QUERY OK source="tasks" db=0.4ms idle=132.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"] 18:41:10.757 [debug] Replied in 1ms 18:41:10.759 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:41:10.759 [debug] Replied in 159µs 18:41:15.155 [debug] HANDLE EVENT "reload_page" in Pinchflat.Pages.HistoryTableLive Parameters: %{"value" => ""} 18:41:15.157 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=1246.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)) [] 18:41:15.158 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=1247.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:41:15.158 [debug] Replied in 2ms 18:41:17.530 [info] {"source":"oban","duration":1030,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:17.532 [info] GET /sources 18:41:17.532 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 18:41:17.534 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1623.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.535 [debug] QUERY OK source="settings" db=0.6ms idle=896.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.536 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=623.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.539 [debug] QUERY OK source="settings" db=1.1ms idle=626.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.540 [debug] QUERY OK source="settings" db=0.6ms queue=0.7ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:41:17.544 [debug] QUERY OK source="sources" db=1.5ms queue=0.2ms idle=8.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)) [] 18:41:17.546 [debug] QUERY OK source="sources" db=1.6ms 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", 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] 18:41:17.548 [info] Sent 200 in 15ms 18:41:17.621 [info] CONNECTED TO Phoenix.LiveView.Socket in 47µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "JCgGcUJ1DncLRR1fEWUbMTg1DkA1Oh9TGKBG50c6B3M1HWPyyli9PsX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:41:17.627 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 18:41:17.629 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=91.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)) [] 18:41:17.631 [debug] QUERY OK source="sources" db=1.6ms idle=91.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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] 18:41:17.632 [debug] Replied in 4ms 18:41:17.634 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:41:17.634 [debug] Replied in 217µs 18:41:22.399 [info] GET /sources/new 18:41:22.399 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 18:41:22.400 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1488.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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:41:22.400 [debug] QUERY OK source="settings" db=0.1ms idle=1488.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:22.401 [debug] QUERY OK source="settings" db=0.3ms idle=1488.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:22.401 [debug] QUERY OK source="settings" db=0.0ms idle=1489.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:22.403 [debug] QUERY OK source="settings" db=0.1ms idle=755.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:22.404 [debug] QUERY OK source="settings" db=0.1ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:41:22.407 [info] Sent 200 in 7ms 18:41:22.484 [info] CONNECTED TO Phoenix.LiveView.Socket in 29µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "JSEyVxoVBxQjBDccNn8bEAgwBQo3PT0JFBvamPjUjrgroMPXIibsRtzh", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:41:22.490 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:41:22.490 [debug] Replied in 98µs 18:41:47.553 [info] {"source":"oban","duration":9302,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:00.594 [info] {"source":"oban","duration":2980,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:42:17.555 [info] {"source":"oban","duration":551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:23.653 [info] POST /sources 18:42:23.654 [debug] Processing with PinchflatWeb.Sources.SourceController.create/2 Parameters: %{"_csrf_token" => "JSEyVxoVBxQjBDccNn8bEAgwBQo3PT0JFBvamPjUjrgroMPXIibsRtzh", "download_cutoff_date_preset" => "", "source" => %{"cookie_behaviour" => "disabled", "custom_name" => "UnpragmaticCovers", "download_cutoff_date" => "", "download_media" => "true", "fast_index" => "false", "index_frequency_minutes" => "1440", "max_duration_seconds" => "", "media_profile_id" => "1", "min_duration_seconds" => "", "original_url" => "https://www.youtube.com/@UnpragmaticCovers", "output_path_template_override" => "", "retention_period_days" => "", "title_filter_regex" => ""}} Pipelines: [:browser] 18:42:23.656 [debug] Running yt-dlp command for action: get_source_details 18:42:23.659 [debug] QUERY OK source="settings" db=0.4ms idle=115.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:23.660 [debug] QUERY OK source="settings" db=0.5ms idle=116.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:23.661 [debug] QUERY OK source="settings" db=0.4ms idle=116.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:42:23.662 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@UnpragmaticCovers --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/75/05/75053e744561e5d82d0400389bb00f7cec0162adfd42e98acdcad4447a793834.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:42:29.719 [info] POST /sources 18:42:29.720 [debug] Processing with PinchflatWeb.Sources.SourceController.create/2 Parameters: %{"_csrf_token" => "JSEyVxoVBxQjBDccNn8bEAgwBQo3PT0JFBvamPjUjrgroMPXIibsRtzh", "download_cutoff_date_preset" => "", "source" => %{"cookie_behaviour" => "disabled", "custom_name" => "UnpragmaticCovers", "download_cutoff_date" => "", "download_media" => "true", "fast_index" => "false", "index_frequency_minutes" => "1440", "max_duration_seconds" => "", "media_profile_id" => "1", "min_duration_seconds" => "", "original_url" => "https://www.youtube.com/@UnpragmaticCovers", "output_path_template_override" => "", "retention_period_days" => "", "title_filter_regex" => ""}} Pipelines: [:browser] 18:42:29.720 [debug] Running yt-dlp command for action: get_source_details 18:42:29.722 [debug] QUERY OK source="settings" db=0.2ms idle=310.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:42:29.723 [debug] QUERY OK source="settings" db=0.1ms idle=179.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:42:29.723 [debug] QUERY OK source="settings" db=0.3ms idle=179.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:29.723 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@UnpragmaticCovers --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/f5/8e/f58e81a0d99ba3e032dcdac0db613c633f5a140794173ad8e0b8af883baae1bc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:42:35.406 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@UnpragmaticCovers --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/f5/8e/f58e81a0d99ba3e032dcdac0db613c633f5a140794173ad8e0b8af883baae1bc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:42:35.425 [debug] QUERY OK source="sources" db=6.9ms idle=1874.0ms INSERT INTO "sources" ("enabled","uuid","download_media","original_url","fast_index","collection_id","collection_type","custom_name","media_profile_id","collection_name","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, "dc220796-52fd-42ea-af54-081b0519b89d", true, "https://www.youtube.com/@UnpragmaticCovers", false, "UC16Wd2cvpgBBVo5pLngSzuA", :channel, "UnpragmaticCovers", 1, "Unpragmatic Covers", 1440, :disabled, ~U[2026-06-27 16:42:35Z], ~U[2026-06-27 16:42:35Z]] 18:42:35.433 [debug] QUERY OK source="tasks" db=1.6ms idle=1887.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."worker" LIKE ?) AND (o1."state" IN (?,?,?,?)) [1, "%.MediaCollectionIndexingWorker", "available", "scheduled", "retryable", "executing"] 18:42:35.445 [debug] QUERY OK source="tasks" db=1.1ms idle=20.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2, 1, ~U[2026-06-27 16:42:35Z], ~U[2026-06-27 16:42:35Z]] 18:42:35.448 [debug] QUERY OK source="tasks" db=1.1ms idle=14.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [3, 1, ~U[2026-06-27 16:42:35Z], ~U[2026-06-27 16:42:35Z]] 18:42:35.449 [debug] QUERY OK source="settings" db=0.3ms 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 [] 18:42:35.451 [info] Sent 302 in 5732ms 18:42:35.461 [info] {"args":{"id":1},"id":3,"meta":{},"system_time":1782578555458510409,"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"]} 18:42:35.465 [debug] QUERY OK source="sources" db=0.2ms queue=0.7ms idle=19.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:42:35.469 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.3ms 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] 18:42:35.469 [debug] QUERY OK source="source_metadata" db=0.7ms queue=0.2ms idle=19.8ms 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] 18:42:35.471 [debug] Running yt-dlp command for action: get_source_details 18:42:35.473 [debug] QUERY OK source="settings" db=0.2ms queue=0.3ms idle=23.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:42:35.473 [debug] QUERY OK source="settings" db=0.2ms idle=15.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:42:35.474 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:42:35.475 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@UnpragmaticCovers --simulate --skip-download --ignore-no-formats-error --playlist-end 1 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file %(.{channel,channel_id,playlist_id,playlist_title,filename})j /tmp/pinchflat/data/ac/0b/ac0b0cbf20c93a3d5dfd4d3da13e7cf09baabce061ead2c39ebb066773753d57.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:42:35.556 [info] GET /sources/1 18:42:35.558 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 18:42:35.559 [debug] QUERY OK source="sources" db=0.4ms idle=90.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:42:35.560 [debug] QUERY OK source="media_profiles" db=0.5ms idle=90.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:42:35.561 [debug] QUERY OK source="tasks" db=0.4ms idle=87.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 18:42:35.561 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=87.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 (?,?)) [3, 2] 18:42:35.562 [debug] QUERY OK source="settings" db=0.2ms idle=87.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:42:35.562 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:42:35.563 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:42:35.569 [debug] QUERY OK source="sources" db=0.3ms 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] 18:42:35.572 [debug] QUERY OK source="media_items" db=0.8ms queue=0.3ms idle=9.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 18:42:35.574 [debug] QUERY OK source="media_items" db=0.7ms queue=0.6ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 18:42:35.575 [debug] QUERY OK source="sources" db=0.6ms idle=12.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:42:35.576 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=12.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 18:42:35.577 [debug] QUERY OK source="media_items" db=0.1ms idle=7.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 18:42:35.577 [debug] QUERY OK source="sources" db=0.1ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:42:35.579 [debug] QUERY OK source="media_items" db=0.4ms queue=0.2ms idle=4.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 18:42:35.581 [debug] QUERY OK source="media_items" db=0.2ms queue=0.4ms idle=4.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] 18:42:35.583 [info] Sent 200 in 27ms 18:42:35.701 [info] CONNECTED TO Phoenix.LiveView.Socket in 1ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "FgIwVwYOQHB4LgoDPx8lDzAxVQkffSM-uataqK-11XZmf-nGqh2pz4d_", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:42:35.716 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "media_state" => "pending", "source_id" => 1} 18:42:35.717 [debug] QUERY OK source="sources" db=0.3ms idle=140.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:42:35.717 [debug] QUERY OK source="media_items" db=0.2ms idle=140.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] 18:42:35.718 [debug] QUERY OK source="media_items" db=0.4ms idle=140.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] 18:42:35.718 [debug] Replied in 2ms 18:42:35.721 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "media_state" => "downloaded", "source_id" => 1} 18:42:35.721 [debug] QUERY OK source="sources" db=0.1ms idle=142.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:42:35.722 [debug] QUERY OK source="media_items" db=0.1ms idle=140.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 18:42:35.722 [debug] QUERY OK source="media_items" db=0.4ms idle=5.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] 18:42:35.722 [debug] Replied in 1ms 18:42:35.723 [debug] MOUNT PinchflatWeb.Sources.MediaItemTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "media_state" => "other", "source_id" => 1} 18:42:35.723 [debug] QUERY OK source="sources" db=0.2ms idle=5.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:42:35.724 [debug] QUERY OK source="media_items" db=0.2ms queue=0.3ms idle=5.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] 18:42:35.725 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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] 18:42:35.725 [debug] Replied in 2ms 18:42:35.726 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:42:35.726 [debug] Replied in 76µs 18:42:36.433 [info] {"args":{"id":1},"id":2,"meta":{},"system_time":1782578556432775920,"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"]} 18:42:36.433 [debug] QUERY OK source="sources" db=0.1ms idle=709.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:42:36.434 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=709.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:36.436 [debug] QUERY OK source="media_items" db=0.3ms queue=0.3ms idle=710.3ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 18:42:36.436 [debug] QUERY OK source="media_items" db=0.0ms idle=11.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 18:42:36.437 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=4.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:42:36.438 [debug] QUERY OK source="settings" db=0.0ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:42:36.438 [debug] QUERY OK source="settings" db=0.2ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:42:36.440 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 18:42:36.441 [debug] Current batch of media processed. Will check again in 1000ms 18:42:36.441 [debug] QUERY OK source="settings" db=0.5ms 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 [] 18:42:36.442 [debug] QUERY OK source="settings" db=0.7ms 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 [] 18:42:36.443 [debug] QUERY OK source="settings" db=0.6ms 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 [] 18:42:36.443 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@UnpragmaticCovers --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/55/b6/55b6dd8581a03bdf59693ddf95e8eb3bd3d5e529ffac28eefacfcc87a34d8400.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:42:37.441 [debug] Current batch of media processed. Will check again in 1000ms 18:42:38.442 [debug] Current batch of media processed. Will check again in 1000ms 18:42:38.717 [info] GET /sources 18:42:38.717 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 18:42:38.720 [debug] QUERY OK source="settings" db=1.7ms idle=1174.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:38.721 [debug] QUERY OK source="settings" db=0.8ms queue=0.4ms idle=1176.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:38.722 [debug] QUERY OK source="settings" db=0.5ms 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 [] 18:42:38.726 [debug] QUERY OK source="settings" db=3.6ms idle=1179.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:38.727 [debug] QUERY OK source="settings" db=0.2ms idle=297.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:38.734 [debug] QUERY OK source="sources" db=0.5ms queue=3.9ms idle=9.8ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 18:42:38.738 [debug] QUERY OK source="sources" db=1.9ms queue=0.2ms 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", 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] 18:42:38.752 [info] Sent 200 in 34ms 18:42:38.836 [info] CONNECTED TO Phoenix.LiveView.Socket in 33µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "VAchYTkkW3Z6QRUeaFctPicPLxArLREv7deWNa6737Ep1efvfVHiNdVN", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:42:38.843 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 18:42:38.875 [debug] QUERY OK source="sources" db=29.3ms queue=0.1ms idle=123.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)) [] 18:42:38.877 [debug] QUERY OK source="sources" db=1.4ms idle=149.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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] 18:42:38.878 [debug] Replied in 35ms 18:42:38.882 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:42:38.882 [debug] Replied in 126µs 18:42:39.443 [debug] Current batch of media processed. Will check again in 1000ms 18:42:41.220 [debug] Current batch of media processed. Will check again in 1000ms 18:42:41.712 [info] GET /media_profiles 18:42:41.712 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 18:42:41.725 [debug] QUERY OK source="media_profiles" db=0.2ms idle=505.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 18:42:41.729 [debug] QUERY OK source="settings" db=0.4ms idle=509.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.734 [debug] QUERY OK source="settings" db=2.6ms 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 [] 18:42:41.735 [debug] QUERY OK source="settings" db=0.7ms idle=515.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.873 [info] Sent 200 in 160ms 18:42:41.980 [info] CONNECTED TO Phoenix.LiveView.Socket in 30µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "NwEyBwYAWBAOAjEHYGYNOxA7BSFVJXYLTbv1qE5QGtai9TFsQbbX0l1j", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:42:42.008 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:42:42.008 [debug] Replied in 115µs 18:42:42.221 [debug] Current batch of media processed. Will check again in 1000ms 18:42:42.675 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@UnpragmaticCovers --simulate --skip-download --ignore-no-formats-error --playlist-end 1 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file %(.{channel,channel_id,playlist_id,playlist_title,filename})j /tmp/pinchflat/data/ac/0b/ac0b0cbf20c93a3d5dfd4d3da13e7cf09baabce061ead2c39ebb066773753d57.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:42:42.680 [debug] Running yt-dlp command for action: get_source_metadata 18:42:42.682 [debug] QUERY OK source="settings" db=0.2ms idle=957.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.682 [debug] QUERY OK source="settings" db=0.3ms idle=952.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.683 [debug] QUERY OK source="settings" db=0.2ms idle=948.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.683 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@UnpragmaticCovers --skip-download --convert-thumbnails jpg --output /tmp/pinchflat/data/57ba48277cf3bd2a/source_image.%(ext)S --write-all-thumbnails --playlist-items 0 --print-to-file playlist:%()j /tmp/pinchflat/data/fa/3a/fa3a4c4f20d1671514ae4ac558f9457c4da856d2420a38b078f51300d1c5b0ca.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:42:42.883 [info] GET / 18:42:43.080 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 18:42:43.206 [debug] QUERY OK source="settings" db=3.0ms idle=1468.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.215 [debug] QUERY OK source="media_profiles" db=8.4ms idle=752.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 18:42:43.216 [debug] QUERY OK source="sources" db=0.5ms idle=533.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 18:42:43.217 [debug] QUERY OK source="media_items" db=0.4ms queue=0.4ms idle=533.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:42:43.217 [debug] QUERY OK source="media_items" db=0.3ms idle=534.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:42:43.452 [debug] Current batch of media processed. Will check again in 1000ms 18:42:43.576 [debug] QUERY OK source="settings" db=0.8ms queue=0.3ms idle=244.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.577 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=360.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.582 [debug] QUERY OK source="settings" db=2.5ms idle=362.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.615 [debug] QUERY OK source="tasks" db=1.4ms idle=396.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 18:42:43.617 [debug] QUERY OK source="sources" db=0.2ms queue=0.4ms idle=164.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:42:43.653 [debug] QUERY OK source="media_items" db=3.0ms idle=193.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)) [] 18:42:43.661 [debug] QUERY OK source="media_items" db=6.9ms idle=76.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] 18:42:43.668 [debug] QUERY OK source="media_items" db=0.2ms idle=85.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"))) [] 18:42:43.671 [debug] QUERY OK source="media_items" db=3.2ms idle=53.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] 18:42:43.673 [info] Sent 200 in 789ms 18:42:43.781 [info] CONNECTED TO Phoenix.LiveView.Socket in 35µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "LRY9cxMQGQARW2FedGokLwI_BBATBAswNuyEdUtAX-10-XogCfcivMLQ", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:42:43.795 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "media_state" => "downloaded"} 18:42:43.797 [debug] QUERY OK source="media_items" db=0.2ms queue=0.2ms idle=179.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)) [] 18:42:43.798 [debug] QUERY OK source="media_items" db=0.5ms idle=143.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] 18:42:43.798 [debug] Replied in 2ms 18:42:43.800 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "media_state" => "pending"} 18:42:43.803 [debug] QUERY OK source="media_items" db=2.5ms idle=139.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"))) [] 18:42:43.804 [debug] QUERY OK source="media_items" db=1.1ms idle=135.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:42:43.805 [debug] Replied in 4ms 18:42:43.814 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:42:43.815 [debug] QUERY OK source="tasks" db=0.9ms idle=143.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"] 18:42:43.816 [debug] QUERY OK source="sources" db=0.5ms idle=18.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:42:43.816 [debug] Replied in 2ms 18:42:43.822 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:42:43.822 [debug] Replied in 118µs 18:42:44.453 [debug] Current batch of media processed. Will check again in 1000ms 18:42:45.453 [debug] Current batch of media processed. Will check again in 1000ms 18:42:46.454 [debug] Current batch of media processed. Will check again in 1000ms 18:42:47.455 [debug] Current batch of media processed. Will check again in 1000ms 18:42:47.557 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@UnpragmaticCovers --skip-download --convert-thumbnails jpg --output /tmp/pinchflat/data/57ba48277cf3bd2a/source_image.%(ext)S --write-all-thumbnails --playlist-items 0 --print-to-file playlist:%()j /tmp/pinchflat/data/fa/3a/fa3a4c4f20d1671514ae4ac558f9457c4da856d2420a38b078f51300d1c5b0ca.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:42:47.557 [info] {"source":"oban","duration":1292,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:47.566 [debug] QUERY OK db=0.0ms idle=116.0ms begin [] 18:42:47.568 [debug] QUERY OK source="sources" db=0.2ms UPDATE "sources" SET "description" = ?, "updated_at" = ? WHERE "id" = ? ["Oldschool Runescape covers.\n\nCreators are more than welcome to use songs for videos, just credit. \n", ~U[2026-06-27 16:42:47Z], 1] 18:42:47.570 [debug] QUERY OK source="source_metadata" db=1.5ms INSERT INTO "source_metadata" ("metadata_filepath","source_id","banner_filepath","fanart_filepath","poster_filepath","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7) RETURNING "id" ["/config/metadata/sources/1/metadata.json.gz", 1, "/config/metadata/sources/1/banner.jpg", "/config/metadata/sources/1/fanart.jpg", "/config/metadata/sources/1/poster.jpg", ~U[2026-06-27 16:42:47Z], ~U[2026-06-27 16:42:47Z]] 18:42:47.570 [debug] QUERY OK db=0.0ms commit [] 18:42:47.571 [info] {"args":{"id":1},"id":3,"meta":{},"state":"success","max_attempts":3,"queue":"remote_metadata","worker":"Pinchflat.Metadata.SourceMetadataStorageWorker","source":"oban","duration":12112226,"event":"job:stop","queue_time":454441,"attempt":1,"tags":["media_source","source_metadata","remote_metadata","show_in_dashboard"]} 18:42:47.573 [debug] QUERY OK source="tasks" db=0.8ms idle=121.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"] 18:42:47.573 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=109.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:42:48.456 [debug] Current batch of media processed. Will check again in 1000ms 18:42:49.457 [debug] Current batch of media processed. Will check again in 1000ms 18:42:50.459 [debug] Current batch of media processed. Will check again in 1000ms 18:42:51.460 [debug] Current batch of media processed. Will check again in 1000ms 18:42:52.461 [debug] Current batch of media processed. Will check again in 1000ms 18:42:53.461 [debug] Current batch of media processed. Will check again in 1000ms 18:42:54.463 [debug] Current batch of media processed. Will check again in 1000ms 18:42:55.515 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Land specs I'm the PVPer\nArtwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 194, "filename" => "/downloads/UnpragmaticCovers/2026-06-26 BOOGIE - Brockhampton but it's the OldSchool RuneScape soundfont/BOOGIE - Brockhampton but it's the OldSchool RuneScape soundfont [BJGODr0o244].mp4", "id" => "BJGODr0o244", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BJGODr0o244", "playlist_index" => 1, "timestamp" => 1782482406, "title" => "BOOGIE - Brockhampton but it's the OldSchool RuneScape soundfont", "upload_date" => "20260626"} 18:42:55.516 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1032.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:42:55.518 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=66.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:42:55.519 [debug] QUERY OK source="media_items" db=0.1ms queue=0.2ms idle=67.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-26 14:00:06Z], 1] 18:42:55.525 [debug] QUERY OK source="media_items" db=5.2ms idle=68.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Land specs I'm the PVPer\nArtwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "BOOGIE - Brockhampton but it's the OldSchool RuneScape soundfont", "2d173dc5-d33e-47e2-815a-86147b1a270c", "BJGODr0o244", false, "https://www.youtube.com/watch?v=BJGODr0o244", 1, [], 194, false, 1, "/downloads/UnpragmaticCovers/2026-06-26 BOOGIE - Brockhampton but it's the OldSchool RuneScape soundfont/BOOGIE - Brockhampton but it's the OldSchool RuneScape soundfont [BJGODr0o244].mp4", false, false, 99, ~U[2026-06-26 14:00:06Z], ~U[2026-06-27 16:42:55Z], ~U[2026-06-27 16:42:55Z], "Land specs I'm the PVPer\nArtwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "BOOGIE - Brockhampton but it's the OldSchool RuneScape soundfont", "BJGODr0o244", "https://www.youtube.com/watch?v=BJGODr0o244", 1, 194, false, "/downloads/UnpragmaticCovers/2026-06-26 BOOGIE - Brockhampton but it's the OldSchool RuneScape soundfont/BOOGIE - Brockhampton but it's the OldSchool RuneScape soundfont [BJGODr0o244].mp4", false, ~U[2026-06-26 14:00:06Z]] 18:42:55.526 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=9.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:42:55.527 [debug] QUERY OK source="media_profiles" db=0.3ms idle=8.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:42:55.529 [debug] QUERY OK source="media_items" db=0.3ms queue=0.5ms idle=10.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1] 18:42:55.530 [info] Kicking off download for media item #1 (BJGODr0o244) 18:42:55.533 [debug] QUERY OK source="tasks" db=0.2ms queue=0.1ms idle=6.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [4, 1, ~U[2026-06-27 16:42:55Z], ~U[2026-06-27 16:42:55Z]] 18:42:55.533 [debug] Current batch of media processed. Will check again in 1000ms 18:42:55.540 [info] {"args":{"id":1},"id":4,"meta":{},"system_time":1782578575539968482,"max_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:42:55.541 [debug] QUERY OK source="media_items" db=0.6ms queue=0.6ms 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."id" = ?) [1] 18:42:55.542 [debug] QUERY OK source="tasks" db=1.5ms idle=9.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 18:42:55.543 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:42:55.543 [debug] QUERY OK source="media_items" db=0.4ms queue=0.3ms idle=10.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1] 18:42:55.544 [debug] QUERY OK source="sources" db=1.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] 18:42:55.544 [debug] QUERY OK source="sources" db=0.7ms queue=0.9ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:42:55.545 [debug] QUERY OK source="media_profiles" db=0.6ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:42:55.548 [debug] QUERY OK source="media_items" db=1.0ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1] 18:42:55.550 [debug] QUERY OK source="media_metadata" db=0.3ms queue=0.1ms idle=5.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [1] 18:42:55.550 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:42:55.551 [debug] QUERY OK source="settings" db=0.3ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:42:55.552 [debug] QUERY OK source="settings" db=0.2ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:42:55.553 [debug] Running yt-dlp command for action: get_downloadable_status 18:42:55.555 [debug] QUERY OK source="settings" db=0.3ms idle=6.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:42:55.556 [debug] QUERY OK source="settings" db=0.2ms idle=5.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:42:55.556 [debug] QUERY OK source="settings" db=0.1ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:42:55.556 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=BJGODr0o244 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0a/cc/0acc551de28887a51b880d840dc257c5c141b8cde813d8e43f6ba0e90e4ac692.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:42:56.533 [debug] Current batch of media processed. Will check again in 1000ms 18:42:57.535 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 178, "filename" => "/downloads/UnpragmaticCovers/2026-06-23 Party Hard - Andrew W. K. but it's the OldSchool RuneScape soundfont/Party Hard - Andrew W. K. but it's the OldSchool RuneScape soundfont [zgl-lhrouZk].mp4", "id" => "zgl-lhrouZk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zgl-lhrouZk", "playlist_index" => 2, "timestamp" => 1782223224, "title" => "Party Hard - Andrew W. K. but it's the OldSchool RuneScape soundfont", "upload_date" => "20260623"} 18:42:57.536 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=84.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:42:57.537 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=85.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:42:57.538 [debug] QUERY OK source="media_items" db=0.4ms queue=0.6ms idle=86.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-23 14:00:24Z], 1] 18:42:57.541 [debug] QUERY OK source="media_items" db=1.3ms idle=88.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Party Hard - Andrew W. K. but it's the OldSchool RuneScape soundfont", "fdc1dfa0-1280-442f-b39e-1fdb0aeadddc", "zgl-lhrouZk", false, "https://www.youtube.com/watch?v=zgl-lhrouZk", 1, [], 178, false, 2, "/downloads/UnpragmaticCovers/2026-06-23 Party Hard - Andrew W. K. but it's the OldSchool RuneScape soundfont/Party Hard - Andrew W. K. but it's the OldSchool RuneScape soundfont [zgl-lhrouZk].mp4", false, false, 99, ~U[2026-06-23 14:00:24Z], ~U[2026-06-27 16:42:57Z], ~U[2026-06-27 16:42:57Z], "Artwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Party Hard - Andrew W. K. but it's the OldSchool RuneScape soundfont", "zgl-lhrouZk", "https://www.youtube.com/watch?v=zgl-lhrouZk", 1, 178, false, "/downloads/UnpragmaticCovers/2026-06-23 Party Hard - Andrew W. K. but it's the OldSchool RuneScape soundfont/Party Hard - Andrew W. K. but it's the OldSchool RuneScape soundfont [zgl-lhrouZk].mp4", false, ~U[2026-06-23 14:00:24Z]] 18:42:57.542 [debug] QUERY OK source="sources" db=0.5ms 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] 18:42:57.543 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=6.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:42:57.544 [debug] QUERY OK source="media_items" db=0.5ms idle=6.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2] 18:42:57.544 [info] Kicking off download for media item #2 (zgl-lhrouZk) 18:42:57.547 [debug] QUERY OK source="tasks" db=0.2ms queue=0.1ms idle=4.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [5, 2, ~U[2026-06-27 16:42:57Z], ~U[2026-06-27 16:42:57Z]] 18:42:57.547 [debug] Current batch of media processed. Will check again in 1000ms 18:42:57.554 [info] {"args":{"id":2},"id":5,"meta":{},"system_time":1782578577554191657,"max_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:42:57.555 [debug] QUERY OK source="media_items" db=0.8ms queue=0.2ms idle=10.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [2] 18:42:57.556 [debug] QUERY OK source="tasks" db=1.1ms idle=9.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 18:42:57.556 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:42:57.558 [debug] QUERY OK source="sources" db=0.9ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:42:57.558 [debug] QUERY OK source="sources" db=1.4ms idle=10.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:42:57.558 [debug] QUERY OK source="media_items" db=1.6ms idle=9.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [1, 2] 18:42:57.560 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.9ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:42:57.563 [debug] QUERY OK source="media_items" db=0.6ms idle=6.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2] 18:42:57.601 [debug] QUERY OK source="media_metadata" db=0.4ms idle=42.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] 18:42:57.603 [debug] QUERY OK source="media_profiles" db=0.5ms idle=44.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:42:57.605 [debug] QUERY OK source="settings" db=0.5ms 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 [] 18:42:57.605 [debug] QUERY OK source="settings" db=0.4ms idle=45.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:42:57.606 [debug] Running yt-dlp command for action: get_downloadable_status 18:42:57.610 [debug] QUERY OK source="settings" db=0.5ms idle=45.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:57.612 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=9.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:42:57.614 [debug] QUERY OK source="settings" db=0.7ms 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 [] 18:42:57.616 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zgl-lhrouZk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/55/1d/551d979da4b67347cb37840652762827b2c40573d7d4ca83f34585789e3891d7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:42:58.548 [debug] Current batch of media processed. Will check again in 1000ms 18:42:59.548 [debug] Current batch of media processed. Will check again in 1000ms 18:42:59.617 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=BJGODr0o244 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0a/cc/0acc551de28887a51b880d840dc257c5c141b8cde813d8e43f6ba0e90e4ac692.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:42:59.618 [debug] Running yt-dlp command for action: download 18:42:59.618 [debug] QUERY OK source="settings" db=0.6ms idle=167.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:42:59.619 [debug] QUERY OK source="settings" db=0.3ms idle=168.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:59.619 [debug] QUERY OK source="settings" db=0.2ms 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 [] 18:42:59.621 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=BJGODr0o244 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/11/5e/115eedb3887a8e9068b63b5b18d48b31d6ec4860cd467403bcffb8bbb5dafabd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:43:00.562 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 193, "filename" => "/downloads/UnpragmaticCovers/2026-06-19 bad guy - Billie Eilish but it's the OldSchool RuneScape soundfont/bad guy - Billie Eilish but it's the OldSchool RuneScape soundfont [e3_9pdi8WZQ].mp4", "id" => "e3_9pdi8WZQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=e3_9pdi8WZQ", "playlist_index" => 3, "timestamp" => 1781877618, "title" => "bad guy - Billie Eilish but it's the OldSchool RuneScape soundfont", "upload_date" => "20260619"} 18:43:00.562 [debug] QUERY OK source="sources" db=0.3ms idle=1033.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:43:00.564 [debug] QUERY OK source="sources" db=0.3ms idle=944.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:43:00.565 [debug] QUERY OK source="media_items" db=0.6ms idle=944.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-19 14:00:18Z], 1] 18:43:00.566 [debug] QUERY OK source="media_items" db=0.8ms idle=945.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "bad guy - Billie Eilish but it's the OldSchool RuneScape soundfont", "274151c1-4644-4633-80cd-ef3ed3a3cede", "e3_9pdi8WZQ", false, "https://www.youtube.com/watch?v=e3_9pdi8WZQ", 1, [], 193, false, 3, "/downloads/UnpragmaticCovers/2026-06-19 bad guy - Billie Eilish but it's the OldSchool RuneScape soundfont/bad guy - Billie Eilish but it's the OldSchool RuneScape soundfont [e3_9pdi8WZQ].mp4", false, false, 99, ~U[2026-06-19 14:00:18Z], ~U[2026-06-27 16:43:00Z], ~U[2026-06-27 16:43:00Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "bad guy - Billie Eilish but it's the OldSchool RuneScape soundfont", "e3_9pdi8WZQ", "https://www.youtube.com/watch?v=e3_9pdi8WZQ", 1, 193, false, "/downloads/UnpragmaticCovers/2026-06-19 bad guy - Billie Eilish but it's the OldSchool RuneScape soundfont/bad guy - Billie Eilish but it's the OldSchool RuneScape soundfont [e3_9pdi8WZQ].mp4", false, ~U[2026-06-19 14:00:18Z]] 18:43:00.566 [debug] QUERY OK source="sources" db=0.1ms idle=36.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:00.567 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.2ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:43:00.567 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3] 18:43:00.567 [info] Kicking off download for media item #3 (e3_9pdi8WZQ) 18:43:00.569 [debug] QUERY OK source="tasks" db=0.1ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [6, 3, ~U[2026-06-27 16:43:00Z], ~U[2026-06-27 16:43:00Z]] 18:43:00.569 [debug] Current batch of media processed. Will check again in 1000ms 18:43:00.641 [info] {"source":"oban","duration":8782,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:43:01.570 [debug] Current batch of media processed. Will check again in 1000ms 18:43:02.571 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 207, "filename" => "/downloads/UnpragmaticCovers/2026-06-16 Paralyzer - Finger Eleven but it's the OldSchool RuneScape soundfont/Paralyzer - Finger Eleven but it's the OldSchool RuneScape soundfont [QrskyYE6ku8].mp4", "id" => "QrskyYE6ku8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QrskyYE6ku8", "playlist_index" => 4, "timestamp" => 1781618409, "title" => "Paralyzer - Finger Eleven but it's the OldSchool RuneScape soundfont", "upload_date" => "20260616"} 18:43:02.572 [debug] QUERY OK source="sources" db=0.3ms 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" IN (?)) [1] 18:43:02.573 [debug] QUERY OK source="sources" db=0.4ms idle=122.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:43:02.573 [debug] QUERY OK source="media_items" db=0.2ms idle=122.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-16 14:00:09Z], 1] 18:43:02.574 [debug] QUERY OK source="media_items" db=0.8ms idle=123.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Paralyzer - Finger Eleven but it's the OldSchool RuneScape soundfont", "497e522e-c1a6-4d10-9301-b3bebbb80ef6", "QrskyYE6ku8", false, "https://www.youtube.com/watch?v=QrskyYE6ku8", 1, [], 207, false, 4, "/downloads/UnpragmaticCovers/2026-06-16 Paralyzer - Finger Eleven but it's the OldSchool RuneScape soundfont/Paralyzer - Finger Eleven but it's the OldSchool RuneScape soundfont [QrskyYE6ku8].mp4", false, false, 99, ~U[2026-06-16 14:00:09Z], ~U[2026-06-27 16:43:02Z], ~U[2026-06-27 16:43:02Z], "Artwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Paralyzer - Finger Eleven but it's the OldSchool RuneScape soundfont", "QrskyYE6ku8", "https://www.youtube.com/watch?v=QrskyYE6ku8", 1, 207, false, "/downloads/UnpragmaticCovers/2026-06-16 Paralyzer - Finger Eleven but it's the OldSchool RuneScape soundfont/Paralyzer - Finger Eleven but it's the OldSchool RuneScape soundfont [QrskyYE6ku8].mp4", false, ~U[2026-06-16 14:00:09Z]] 18:43:02.575 [debug] QUERY OK source="sources" db=0.2ms idle=37.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:02.575 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:43:02.576 [debug] QUERY OK source="media_items" db=0.2ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4] 18:43:02.576 [info] Kicking off download for media item #4 (QrskyYE6ku8) 18:43:02.577 [debug] QUERY OK source="tasks" db=0.1ms idle=2.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7, 4, ~U[2026-06-27 16:43:02Z], ~U[2026-06-27 16:43:02Z]] 18:43:02.578 [debug] Current batch of media processed. Will check again in 1000ms 18:43:03.578 [debug] Current batch of media processed. Will check again in 1000ms 18:43:04.580 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "lvls?\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 196, "filename" => "/downloads/UnpragmaticCovers/2026-06-12 Levels - Avicii but it's the OldSchool RuneScape soundfont/Levels - Avicii but it's the OldSchool RuneScape soundfont [u6KcXTb4tGQ].mp4", "id" => "u6KcXTb4tGQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=u6KcXTb4tGQ", "playlist_index" => 5, "timestamp" => 1781272827, "title" => "Levels - Avicii but it's the OldSchool RuneScape soundfont", "upload_date" => "20260612"} 18:43:04.581 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=130.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:43:04.583 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=131.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:43:04.584 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=132.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-12 14:00:27Z], 1] 18:43:04.587 [debug] QUERY OK source="media_items" db=1.5ms idle=134.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["lvls?\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Levels - Avicii but it's the OldSchool RuneScape soundfont", "dbad8dda-5ca4-46c9-86ab-36b50c6e7633", "u6KcXTb4tGQ", false, "https://www.youtube.com/watch?v=u6KcXTb4tGQ", 1, [], 196, false, 5, "/downloads/UnpragmaticCovers/2026-06-12 Levels - Avicii but it's the OldSchool RuneScape soundfont/Levels - Avicii but it's the OldSchool RuneScape soundfont [u6KcXTb4tGQ].mp4", false, false, 99, ~U[2026-06-12 14:00:27Z], ~U[2026-06-27 16:43:04Z], ~U[2026-06-27 16:43:04Z], "lvls?\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Levels - Avicii but it's the OldSchool RuneScape soundfont", "u6KcXTb4tGQ", "https://www.youtube.com/watch?v=u6KcXTb4tGQ", 1, 196, false, "/downloads/UnpragmaticCovers/2026-06-12 Levels - Avicii but it's the OldSchool RuneScape soundfont/Levels - Avicii but it's the OldSchool RuneScape soundfont [u6KcXTb4tGQ].mp4", false, ~U[2026-06-12 14:00:27Z]] 18:43:04.588 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=39.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:04.589 [debug] QUERY OK source="media_profiles" db=0.8ms 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] 18:43:04.590 [debug] QUERY OK source="media_items" db=0.3ms idle=6.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5] 18:43:04.590 [info] Kicking off download for media item #5 (u6KcXTb4tGQ) 18:43:04.592 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=4.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [8, 5, ~U[2026-06-27 16:43:04Z], ~U[2026-06-27 16:43:04Z]] 18:43:04.593 [debug] Current batch of media processed. Will check again in 1000ms 18:43:05.593 [debug] Current batch of media processed. Will check again in 1000ms 18:43:06.594 [debug] Current batch of media processed. Will check again in 1000ms 18:43:07.595 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 214, "filename" => "/downloads/UnpragmaticCovers/2026-06-09 That's What You Get - Paramore but it's the OldSchool RuneScape soundfont/That's What You Get - Paramore but it's the OldSchool RuneScape soundfont [KXL7kx_lsX0].mp4", "id" => "KXL7kx_lsX0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=KXL7kx_lsX0", "playlist_index" => 6, "timestamp" => 1781013625, "title" => "That's What You Get - Paramore but it's the OldSchool RuneScape soundfont", "upload_date" => "20260609"} 18:43:07.597 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=1145.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:43:07.599 [debug] QUERY OK source="sources" db=0.5ms queue=0.6ms idle=1146.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:43:07.600 [debug] QUERY OK source="media_items" db=0.5ms queue=0.8ms idle=1148.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-09 14:00:25Z], 1] 18:43:07.602 [debug] QUERY OK source="media_items" db=0.8ms idle=1050.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "That's What You Get - Paramore but it's the OldSchool RuneScape soundfont", "d15ebd62-d4e9-4cfb-8522-ba7beec0fe12", "KXL7kx_lsX0", false, "https://www.youtube.com/watch?v=KXL7kx_lsX0", 1, [], 214, false, 6, "/downloads/UnpragmaticCovers/2026-06-09 That's What You Get - Paramore but it's the OldSchool RuneScape soundfont/That's What You Get - Paramore but it's the OldSchool RuneScape soundfont [KXL7kx_lsX0].mp4", false, false, 99, ~U[2026-06-09 14:00:25Z], ~U[2026-06-27 16:43:07Z], ~U[2026-06-27 16:43:07Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "That's What You Get - Paramore but it's the OldSchool RuneScape soundfont", "KXL7kx_lsX0", "https://www.youtube.com/watch?v=KXL7kx_lsX0", 1, 214, false, "/downloads/UnpragmaticCovers/2026-06-09 That's What You Get - Paramore but it's the OldSchool RuneScape soundfont/That's What You Get - Paramore but it's the OldSchool RuneScape soundfont [KXL7kx_lsX0].mp4", false, ~U[2026-06-09 14:00:25Z]] 18:43:07.603 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=49.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:43:07.604 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=6.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:43:07.607 [debug] QUERY OK source="media_items" db=0.9ms queue=0.2ms idle=7.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6] 18:43:07.607 [info] Kicking off download for media item #6 (KXL7kx_lsX0) 18:43:07.613 [debug] QUERY OK source="tasks" db=0.4ms idle=9.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [9, 6, ~U[2026-06-27 16:43:07Z], ~U[2026-06-27 16:43:07Z]] 18:43:07.613 [debug] Current batch of media processed. Will check again in 1000ms 18:43:07.632 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zgl-lhrouZk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/55/1d/551d979da4b67347cb37840652762827b2c40573d7d4ca83f34585789e3891d7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:43:07.632 [debug] Running yt-dlp command for action: download 18:43:07.633 [debug] QUERY OK source="settings" db=0.5ms 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 [] 18:43:07.633 [debug] QUERY OK source="settings" db=0.4ms 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 [] 18:43:07.634 [debug] QUERY OK source="settings" db=0.4ms 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:43:07.634 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zgl-lhrouZk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/62/19/62195907f98e1230721613a9393249bc4b8771a08e06c1fbd1ac435c8ad60f4c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:43:08.614 [debug] Current batch of media processed. Will check again in 1000ms 18:43:09.615 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "JONE WASTE YORE TOYE MONME YORAL REDIII THE VOICE INSOIDE MOYE YEDD\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 223, "filename" => "/downloads/UnpragmaticCovers/2026-06-05 I Miss You - Blink-182 but it's the OldSchool RuneScape soundfont/I Miss You - Blink-182 but it's the OldSchool RuneScape soundfont [zvE4aQpkefE].mp4", "id" => "zvE4aQpkefE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zvE4aQpkefE", "playlist_index" => 7, "timestamp" => 1780668009, "title" => "I Miss You - Blink-182 but it's the OldSchool RuneScape soundfont", "upload_date" => "20260605"} 18:43:09.617 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=165.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:43:09.620 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:43:09.654 [debug] QUERY OK source="media_items" db=34.1ms idle=169.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-05 14:00:09Z], 1] 18:43:09.660 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=205.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["JONE WASTE YORE TOYE MONME YORAL REDIII THE VOICE INSOIDE MOYE YEDD\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "I Miss You - Blink-182 but it's the OldSchool RuneScape soundfont", "1561c41b-246a-4125-a1da-1f004fe3e2ba", "zvE4aQpkefE", false, "https://www.youtube.com/watch?v=zvE4aQpkefE", 1, [], 223, false, 7, "/downloads/UnpragmaticCovers/2026-06-05 I Miss You - Blink-182 but it's the OldSchool RuneScape soundfont/I Miss You - Blink-182 but it's the OldSchool RuneScape soundfont [zvE4aQpkefE].mp4", false, false, 99, ~U[2026-06-05 14:00:09Z], ~U[2026-06-27 16:43:09Z], ~U[2026-06-27 16:43:09Z], "JONE WASTE YORE TOYE MONME YORAL REDIII THE VOICE INSOIDE MOYE YEDD\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "I Miss You - Blink-182 but it's the OldSchool RuneScape soundfont", "zvE4aQpkefE", "https://www.youtube.com/watch?v=zvE4aQpkefE", 1, 223, false, "/downloads/UnpragmaticCovers/2026-06-05 I Miss You - Blink-182 but it's the OldSchool RuneScape soundfont/I Miss You - Blink-182 but it's the OldSchool RuneScape soundfont [zvE4aQpkefE].mp4", false, ~U[2026-06-05 14:00:09Z]] 18:43:09.661 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=95.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:43:09.662 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=45.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:43:09.664 [debug] QUERY OK source="media_items" db=0.6ms idle=45.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [7] 18:43:09.664 [info] Kicking off download for media item #7 (zvE4aQpkefE) 18:43:09.668 [debug] QUERY OK source="tasks" db=0.4ms idle=6.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [10, 7, ~U[2026-06-27 16:43:09Z], ~U[2026-06-27 16:43:09Z]] 18:43:09.668 [debug] Current batch of media processed. Will check again in 1000ms 18:43:10.670 [debug] Current batch of media processed. Will check again in 1000ms 18:43:12.422 [debug] Current batch of media processed. Will check again in 1000ms 18:43:12.604 [info] GET /sources/1/media/1 18:43:12.605 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1", "source_id" => "1"} Pipelines: [:browser] 18:43:12.606 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=1152.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" = ?) [1] 18:43:12.608 [debug] QUERY OK source="tasks" db=0.2ms queue=0.3ms idle=1153.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [1] 18:43:12.608 [debug] QUERY OK source="sources" db=1.0ms idle=1153.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:12.609 [debug] QUERY OK source="oban_jobs" db=0.2ms queue=0.1ms idle=1155.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" = ?) [4] 18:43:12.610 [debug] QUERY OK source="settings" db=0.3ms queue=0.4ms idle=186.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.611 [debug] QUERY OK source="settings" db=0.4ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:43:12.612 [debug] QUERY OK source="settings" db=0.3ms 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 [] 18:43:12.614 [debug] QUERY OK source="media_profiles" db=1.1ms idle=4.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:43:12.617 [info] Sent 200 in 13ms 18:43:12.721 [info] CONNECTED TO Phoenix.LiveView.Socket in 28µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ITQqYj4LKiVwDxkvL0suPDgoAggKJhJYBWnTINGd9yIAvyetyqeqooU9", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:43:12.728 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:43:12.728 [debug] Replied in 119µs 18:43:13.423 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 251, "filename" => "/downloads/UnpragmaticCovers/2026-06-01 Pink Pony Club - Chappell Roan but it's the OldSchool RuneScape soundfont/Pink Pony Club - Chappell Roan but it's the OldSchool RuneScape soundfont [78kArFA7r9o].mp4", "id" => "78kArFA7r9o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=78kArFA7r9o", "playlist_index" => 8, "timestamp" => 1780322412, "title" => "Pink Pony Club - Chappell Roan but it's the OldSchool RuneScape soundfont", "upload_date" => "20260601"} 18:43:13.424 [debug] QUERY OK source="sources" db=0.2ms idle=814.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:43:13.425 [debug] QUERY OK source="sources" db=0.4ms idle=813.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:43:13.426 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=813.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-01 14:00:12Z], 1] 18:43:13.427 [debug] QUERY OK source="media_items" db=0.8ms idle=812.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Pink Pony Club - Chappell Roan but it's the OldSchool RuneScape soundfont", "f3eb0f10-89e2-421a-8b2f-b8f9b4dbfcdd", "78kArFA7r9o", false, "https://www.youtube.com/watch?v=78kArFA7r9o", 1, [], 251, false, 8, "/downloads/UnpragmaticCovers/2026-06-01 Pink Pony Club - Chappell Roan but it's the OldSchool RuneScape soundfont/Pink Pony Club - Chappell Roan but it's the OldSchool RuneScape soundfont [78kArFA7r9o].mp4", false, false, 99, ~U[2026-06-01 14:00:12Z], ~U[2026-06-27 16:43:13Z], ~U[2026-06-27 16:43:13Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Pink Pony Club - Chappell Roan but it's the OldSchool RuneScape soundfont", "78kArFA7r9o", "https://www.youtube.com/watch?v=78kArFA7r9o", 1, 251, false, "/downloads/UnpragmaticCovers/2026-06-01 Pink Pony Club - Chappell Roan but it's the OldSchool RuneScape soundfont/Pink Pony Club - Chappell Roan but it's the OldSchool RuneScape soundfont [78kArFA7r9o].mp4", false, ~U[2026-06-01 14:00:12Z]] 18:43:13.428 [debug] QUERY OK source="sources" db=0.7ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:43:13.430 [debug] QUERY OK source="media_profiles" db=1.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] 18:43:13.431 [debug] QUERY OK source="media_items" db=0.3ms queue=0.9ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [8] 18:43:13.432 [info] Kicking off download for media item #8 (78kArFA7r9o) 18:43:13.437 [debug] QUERY OK source="tasks" db=0.6ms queue=0.6ms idle=7.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [11, 8, ~U[2026-06-27 16:43:13Z], ~U[2026-06-27 16:43:13Z]] 18:43:13.438 [debug] Current batch of media processed. Will check again in 1000ms 18:43:14.438 [debug] Current batch of media processed. Will check again in 1000ms 18:43:17.135 [debug] Current batch of media processed. Will check again in 1000ms 18:43:17.559 [info] {"source":"oban","duration":1076,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:18.136 [debug] Current batch of media processed. Will check again in 1000ms 18:43:19.388 [debug] Current batch of media processed. Will check again in 1000ms 18:43:20.389 [debug] Current batch of media processed. Will check again in 1000ms 18:43:21.389 [debug] Current batch of media processed. Will check again in 1000ms 18:43:25.185 [debug] Current batch of media processed. Will check again in 1000ms 18:43:26.185 [debug] Current batch of media processed. Will check again in 1000ms 18:43:27.186 [debug] Current batch of media processed. Will check again in 1000ms 18:43:28.187 [debug] Current batch of media processed. Will check again in 1000ms 18:43:29.188 [debug] Current batch of media processed. Will check again in 1000ms 18:43:30.189 [debug] Current batch of media processed. Will check again in 1000ms 18:43:31.190 [debug] Current batch of media processed. Will check again in 1000ms 18:43:32.191 [debug] Current batch of media processed. Will check again in 1000ms 18:43:33.192 [debug] Current batch of media processed. Will check again in 1000ms 18:43:34.193 [debug] Current batch of media processed. Will check again in 1000ms 18:43:35.194 [debug] Current batch of media processed. Will check again in 1000ms 18:43:35.989 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=BJGODr0o244 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/11/5e/115eedb3887a8e9068b63b5b18d48b31d6ec4860cd467403bcffb8bbb5dafabd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:43:36.195 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 244, "filename" => "/downloads/UnpragmaticCovers/2026-05-29 Gangsta's Paradise - Coolio but it's the OldSchool RuneScape soundfont/Gangsta's Paradise - Coolio but it's the OldSchool RuneScape soundfont [VqSXZyC4ciI].mp4", "id" => "VqSXZyC4ciI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VqSXZyC4ciI", "playlist_index" => 9, "timestamp" => 1780063213, "title" => "Gangsta's Paradise - Coolio but it's the OldSchool RuneScape soundfont", "upload_date" => "20260529"} 18:43:36.206 [debug] QUERY OK source="sources" db=10.7ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:43:36.207 [debug] QUERY OK source="sources" db=0.1ms idle=902.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:43:36.208 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=245.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-29 14:00:13Z], 1] 18:43:36.209 [debug] QUERY OK source="media_items" db=0.9ms idle=246.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Gangsta's Paradise - Coolio but it's the OldSchool RuneScape soundfont", "abbf5b1d-c0b1-4dc1-980c-039de1f09ce2", "VqSXZyC4ciI", false, "https://www.youtube.com/watch?v=VqSXZyC4ciI", 1, [], 244, false, 9, "/downloads/UnpragmaticCovers/2026-05-29 Gangsta's Paradise - Coolio but it's the OldSchool RuneScape soundfont/Gangsta's Paradise - Coolio but it's the OldSchool RuneScape soundfont [VqSXZyC4ciI].mp4", false, false, 99, ~U[2026-05-29 14:00:13Z], ~U[2026-06-27 16:43:36Z], ~U[2026-06-27 16:43:36Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Gangsta's Paradise - Coolio but it's the OldSchool RuneScape soundfont", "VqSXZyC4ciI", "https://www.youtube.com/watch?v=VqSXZyC4ciI", 1, 244, false, "/downloads/UnpragmaticCovers/2026-05-29 Gangsta's Paradise - Coolio but it's the OldSchool RuneScape soundfont/Gangsta's Paradise - Coolio but it's the OldSchool RuneScape soundfont [VqSXZyC4ciI].mp4", false, ~U[2026-05-29 14:00:13Z]] 18:43:36.209 [debug] QUERY OK source="sources" db=0.1ms idle=247.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:36.210 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:43:36.210 [debug] QUERY OK source="media_items" db=0.2ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9] 18:43:36.210 [info] Kicking off download for media item #9 (VqSXZyC4ciI) 18:43:36.212 [debug] QUERY OK source="tasks" db=0.1ms idle=2.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [12, 9, ~U[2026-06-27 16:43:36Z], ~U[2026-06-27 16:43:36Z]] 18:43:36.212 [debug] Current batch of media processed. Will check again in 1000ms 18:43:36.717 [debug] Running yt-dlp command for action: download_thumbnail 18:43:36.719 [debug] QUERY OK source="settings" db=0.1ms idle=508.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:43:36.721 [debug] QUERY OK source="settings" db=0.2ms 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 [] 18:43:36.721 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms 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 [] 18:43:36.722 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=BJGODr0o244 --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/c1/e1/c1e1dc0d4c3fc1906355ea74171effb65f0203daf94447c4b1e8ac4e268587bd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:43:37.214 [debug] Current batch of media processed. Will check again in 1000ms 18:43:38.094 [info] GET / 18:43:38.095 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 18:43:38.096 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms idle=780.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:43:38.097 [debug] QUERY OK source="media_profiles" db=0.7ms idle=134.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 18:43:38.098 [debug] QUERY OK source="sources" db=0.2ms idle=135.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 18:43:38.098 [debug] QUERY OK source="media_items" db=0.2ms idle=135.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:43:38.098 [debug] QUERY OK source="media_items" db=0.1ms queue=0.1ms idle=136.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:43:38.099 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:43:38.101 [debug] QUERY OK source="settings" db=1.1ms queue=0.9ms 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 [] 18:43:38.106 [debug] QUERY OK source="settings" db=0.4ms 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 [] 18:43:38.109 [debug] QUERY OK source="tasks" db=1.0ms idle=9.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 18:43:38.111 [debug] QUERY OK source="media_items" db=0.6ms queue=0.5ms idle=10.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [1, 2] 18:43:38.111 [debug] QUERY OK source="sources" db=1.4ms queue=0.5ms idle=10.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:43:38.121 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=19.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)) [] 18:43:38.124 [debug] QUERY OK source="media_items" db=1.9ms queue=0.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] 18:43:38.125 [debug] QUERY OK source="media_items" db=0.6ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 18:43:38.127 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=14.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:43:38.127 [debug] QUERY OK source="sources" db=0.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] 18:43:38.132 [info] Sent 200 in 37ms 18:43:38.215 [debug] Current batch of media processed. Will check again in 1000ms 18:43:38.238 [info] CONNECTED TO Phoenix.LiveView.Socket in 47µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "N1IAYzF8ByweIzghK38dfQMeFBwIEH4gT1DUF9jmWUhOrMV5BGsemY9A", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:43:38.245 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "media_state" => "downloaded"} 18:43:38.248 [debug] QUERY OK source="media_items" db=2.1ms idle=124.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:43:38.255 [debug] QUERY OK source="media_items" db=0.7ms queue=5.9ms idle=124.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] 18:43:38.255 [debug] Replied in 9ms 18:43:38.257 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "media_state" => "pending"} 18:43:38.259 [debug] QUERY OK source="media_items" db=1.3ms idle=132.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"))) [] 18:43:38.260 [debug] QUERY OK source="media_items" db=0.9ms idle=132.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:43:38.262 [debug] QUERY OK source="sources" db=0.5ms idle=133.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:38.262 [debug] Replied in 5ms 18:43:38.266 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:43:38.270 [debug] QUERY OK source="tasks" db=4.2ms idle=18.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"] 18:43:38.272 [debug] QUERY OK source="media_items" db=0.9ms idle=16.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [1, 2] 18:43:38.274 [debug] QUERY OK source="sources" db=3.4ms idle=12.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:43:38.275 [debug] Replied in 9ms 18:43:38.278 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:43:38.278 [debug] Replied in 127µs 18:43:39.216 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 149, "filename" => "/downloads/UnpragmaticCovers/2026-05-26 Wait and Bleed - Slipknot but it's the OldSchool RuneScape soundfont/Wait and Bleed - Slipknot but it's the OldSchool RuneScape soundfont [r5oh1ZT9rWo].mp4", "id" => "r5oh1ZT9rWo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=r5oh1ZT9rWo", "playlist_index" => 10, "timestamp" => 1779804009, "title" => "Wait and Bleed - Slipknot but it's the OldSchool RuneScape soundfont", "upload_date" => "20260526"} 18:43:39.217 [debug] QUERY OK source="sources" db=0.4ms idle=954.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:43:39.218 [debug] QUERY OK source="sources" db=0.7ms idle=946.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:43:39.219 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=946.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-26 14:00:09Z], 1] 18:43:39.224 [debug] QUERY OK source="media_items" db=1.8ms queue=0.8ms idle=945.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Wait and Bleed - Slipknot but it's the OldSchool RuneScape soundfont", "9eb2595a-aa7e-4923-b6cf-863a3f5d55cd", "r5oh1ZT9rWo", false, "https://www.youtube.com/watch?v=r5oh1ZT9rWo", 1, [], 149, false, 10, "/downloads/UnpragmaticCovers/2026-05-26 Wait and Bleed - Slipknot but it's the OldSchool RuneScape soundfont/Wait and Bleed - Slipknot but it's the OldSchool RuneScape soundfont [r5oh1ZT9rWo].mp4", false, false, 99, ~U[2026-05-26 14:00:09Z], ~U[2026-06-27 16:43:39Z], ~U[2026-06-27 16:43:39Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Wait and Bleed - Slipknot but it's the OldSchool RuneScape soundfont", "r5oh1ZT9rWo", "https://www.youtube.com/watch?v=r5oh1ZT9rWo", 1, 149, false, "/downloads/UnpragmaticCovers/2026-05-26 Wait and Bleed - Slipknot but it's the OldSchool RuneScape soundfont/Wait and Bleed - Slipknot but it's the OldSchool RuneScape soundfont [r5oh1ZT9rWo].mp4", false, ~U[2026-05-26 14:00:09Z]] 18:43:39.226 [debug] QUERY OK source="sources" db=1.0ms queue=0.4ms idle=907.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:39.228 [debug] QUERY OK source="media_profiles" db=1.2ms idle=9.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:43:39.236 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=15.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [10] 18:43:39.236 [info] Kicking off download for media item #10 (r5oh1ZT9rWo) 18:43:39.253 [debug] QUERY OK source="tasks" db=2.9ms queue=5.5ms idle=19.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [13, 10, ~U[2026-06-27 16:43:39Z], ~U[2026-06-27 16:43:39Z]] 18:43:39.254 [debug] Current batch of media processed. Will check again in 1000ms 18:43:40.260 [debug] Current batch of media processed. Will check again in 1000ms 18:43:41.260 [debug] Current batch of media processed. Will check again in 1000ms 18:43:42.261 [debug] Current batch of media processed. Will check again in 1000ms 18:43:43.072 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=BJGODr0o244 --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/c1/e1/c1e1dc0d4c3fc1906355ea74171effb65f0203daf94447c4b1e8ac4e268587bd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:43:43.073 [debug] QUERY OK db=0.1ms idle=1095.7ms begin [] 18:43:43.076 [debug] QUERY OK source="media_items" db=2.3ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/UnpragmaticCovers/2026-06-26 BOOGIE - Brockhampton but it's the OldSchool RuneScape soundfont/BOOGIE - Brockhampton but it's the OldSchool RuneScape soundfont [BJGODr0o244].mp4", "/downloads/UnpragmaticCovers/2026-06-26 BOOGIE - Brockhampton but it's the OldSchool RuneScape soundfont/BOOGIE - Brockhampton but it's the OldSchool RuneScape soundfont [BJGODr0o244]-thumb.jpg", ~U[2026-06-27 16:43:36Z], ~U[2026-06-27 16:43:43Z], 1] 18:43:43.077 [debug] QUERY OK source="media_metadata" db=0.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/1/metadata.json.gz", "/config/metadata/media_items/1/thumbnail.jpg", 1, ~U[2026-06-27 16:43:43Z], ~U[2026-06-27 16:43:43Z]] 18:43:43.078 [debug] QUERY OK db=0.6ms commit [] 18:43:43.081 [debug] QUERY OK source="media_items" db=1.9ms idle=727.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [6441822, ~U[2026-06-27 16:43:43Z], 1] 18:43:43.083 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:43:43.085 [info] {"args":{"id":1},"id":4,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":47543259,"event":"job:stop","queue_time":538681,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:43:43.086 [debug] QUERY OK source="tasks" db=1.0ms idle=107.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 18:43:43.087 [debug] QUERY OK source="media_items" db=0.4ms idle=109.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" = ?) [2] 18:43:43.087 [debug] QUERY OK source="sources" db=0.6ms idle=8.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:43:43.094 [info] {"args":{"id":3},"id":6,"meta":{},"system_time":1782578623093607795,"max_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:43.096 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=9.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" = ?) [3] 18:43:43.097 [debug] QUERY OK source="tasks" db=2.6ms idle=7.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 18:43:43.098 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:43:43.100 [debug] QUERY OK source="sources" db=1.8ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:43:43.100 [debug] QUERY OK source="media_items" db=2.2ms idle=10.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [2, 3] 18:43:43.102 [debug] QUERY OK source="sources" db=4.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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:43:43.104 [debug] QUERY OK source="media_profiles" db=1.6ms queue=0.3ms idle=6.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:43:43.106 [debug] QUERY OK source="media_items" db=1.3ms idle=7.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3] 18:43:43.108 [debug] QUERY OK source="media_metadata" db=0.7ms idle=6.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" = ?) [3] 18:43:43.109 [debug] QUERY OK source="media_profiles" db=0.7ms idle=7.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:43:43.111 [debug] QUERY OK source="settings" db=0.4ms 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 [] 18:43:43.112 [debug] QUERY OK source="settings" db=0.3ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:43:43.113 [debug] Running yt-dlp command for action: get_downloadable_status 18:43:43.115 [debug] QUERY OK source="settings" db=0.4ms 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 [] 18:43:43.117 [debug] QUERY OK source="settings" db=1.9ms 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 [] 18:43:43.118 [debug] QUERY OK source="settings" db=0.6ms 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 [] 18:43:43.118 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=e3_9pdi8WZQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f9/17/f91728f007b66824655f4d545ad80f77de6a76a2174d22b37e5039541d381bbe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:43:43.263 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Happy World Goth Day to my fellow goths!\nPlease rise for your national anthem 🦇🦇🦇\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 333, "filename" => "/downloads/UnpragmaticCovers/2026-05-22 Bela Lugosi's Dead - Bauhaus but it's the OldSchool RuneScape soundfont/Bela Lugosi's Dead - Bauhaus but it's the OldSchool RuneScape soundfont [yIYruarYMCg].mp4", "id" => "yIYruarYMCg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yIYruarYMCg", "playlist_index" => 11, "timestamp" => 1779458404, "title" => "Bela Lugosi's Dead - Bauhaus but it's the OldSchool RuneScape soundfont", "upload_date" => "20260522"} 18:43:43.266 [debug] QUERY OK source="sources" db=0.8ms idle=153.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:43:43.268 [debug] QUERY OK source="sources" db=1.4ms 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] 18:43:43.271 [debug] QUERY OK source="media_items" db=1.8ms queue=1.3ms idle=152.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-22 14:00:04Z], 1] 18:43:43.274 [debug] QUERY OK source="media_items" db=0.6ms queue=0.6ms idle=155.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Happy World Goth Day to my fellow goths!\nPlease rise for your national anthem 🦇🦇🦇\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Bela Lugosi's Dead - Bauhaus but it's the OldSchool RuneScape soundfont", "195c4601-713b-4b27-8d3d-a5db96e787a1", "yIYruarYMCg", false, "https://www.youtube.com/watch?v=yIYruarYMCg", 1, [], 333, false, 11, "/downloads/UnpragmaticCovers/2026-05-22 Bela Lugosi's Dead - Bauhaus but it's the OldSchool RuneScape soundfont/Bela Lugosi's Dead - Bauhaus but it's the OldSchool RuneScape soundfont [yIYruarYMCg].mp4", false, false, 99, ~U[2026-05-22 14:00:04Z], ~U[2026-06-27 16:43:43Z], ~U[2026-06-27 16:43:43Z], "Happy World Goth Day to my fellow goths!\nPlease rise for your national anthem 🦇🦇🦇\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Bela Lugosi's Dead - Bauhaus but it's the OldSchool RuneScape soundfont", "yIYruarYMCg", "https://www.youtube.com/watch?v=yIYruarYMCg", 1, 333, false, "/downloads/UnpragmaticCovers/2026-05-22 Bela Lugosi's Dead - Bauhaus but it's the OldSchool RuneScape soundfont/Bela Lugosi's Dead - Bauhaus but it's the OldSchool RuneScape soundfont [yIYruarYMCg].mp4", false, ~U[2026-05-22 14:00:04Z]] 18:43:43.276 [debug] QUERY OK source="sources" db=0.9ms queue=1.2ms idle=155.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:43.278 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.7ms idle=10.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:43:43.282 [debug] QUERY OK source="media_items" db=3.0ms idle=10.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11] 18:43:43.282 [info] Kicking off download for media item #11 (yIYruarYMCg) 18:43:43.295 [debug] QUERY OK source="tasks" db=2.8ms queue=0.1ms idle=15.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [14, 11, ~U[2026-06-27 16:43:43Z], ~U[2026-06-27 16:43:43Z]] 18:43:43.296 [debug] Current batch of media processed. Will check again in 1000ms 18:43:44.299 [debug] Current batch of media processed. Will check again in 1000ms 18:43:45.299 [debug] Current batch of media processed. Will check again in 1000ms 18:43:46.301 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "R.I.P. Chris Cornell\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 314, "filename" => "/downloads/UnpragmaticCovers/2026-05-18 Black Hole Sun - Soundgarden but it's the OldSchool RuneScape soundfont/Black Hole Sun - Soundgarden but it's the OldSchool RuneScape soundfont [TBueoWRQCBQ].mp4", "id" => "TBueoWRQCBQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=TBueoWRQCBQ", "playlist_index" => 12, "timestamp" => 1779112827, "title" => "Black Hole Sun - Soundgarden but it's the OldSchool RuneScape soundfont", "upload_date" => "20260518"} 18:43:46.302 [debug] QUERY OK source="sources" db=0.8ms idle=1322.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:43:46.303 [debug] QUERY OK source="sources" db=1.2ms idle=1323.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:43:46.304 [debug] QUERY OK source="media_items" db=0.5ms idle=1325.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-18 14:00:27Z], 1] 18:43:46.306 [debug] QUERY OK source="media_items" db=0.8ms idle=1326.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["R.I.P. Chris Cornell\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Black Hole Sun - Soundgarden but it's the OldSchool RuneScape soundfont", "fd57fc37-6e91-40fe-b98c-af57f278f068", "TBueoWRQCBQ", false, "https://www.youtube.com/watch?v=TBueoWRQCBQ", 1, [], 314, false, 12, "/downloads/UnpragmaticCovers/2026-05-18 Black Hole Sun - Soundgarden but it's the OldSchool RuneScape soundfont/Black Hole Sun - Soundgarden but it's the OldSchool RuneScape soundfont [TBueoWRQCBQ].mp4", false, false, 99, ~U[2026-05-18 14:00:27Z], ~U[2026-06-27 16:43:46Z], ~U[2026-06-27 16:43:46Z], "R.I.P. Chris Cornell\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Black Hole Sun - Soundgarden but it's the OldSchool RuneScape soundfont", "TBueoWRQCBQ", "https://www.youtube.com/watch?v=TBueoWRQCBQ", 1, 314, false, "/downloads/UnpragmaticCovers/2026-05-18 Black Hole Sun - Soundgarden but it's the OldSchool RuneScape soundfont/Black Hole Sun - Soundgarden but it's the OldSchool RuneScape soundfont [TBueoWRQCBQ].mp4", false, ~U[2026-05-18 14:00:27Z]] 18:43:46.307 [debug] QUERY OK source="sources" db=0.4ms idle=936.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:46.307 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:43:46.309 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12] 18:43:46.309 [info] Kicking off download for media item #12 (TBueoWRQCBQ) 18:43:46.313 [debug] QUERY OK source="tasks" db=0.5ms queue=0.4ms idle=5.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [15, 12, ~U[2026-06-27 16:43:46Z], ~U[2026-06-27 16:43:46Z]] 18:43:46.314 [debug] Current batch of media processed. Will check again in 1000ms 18:43:47.314 [debug] Current batch of media processed. Will check again in 1000ms 18:43:47.564 [info] {"source":"oban","duration":3753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:47.644 [notice] :alarm_handler: {:clear, :system_memory_high_watermark} 18:43:48.107 [debug] HANDLE EVENT "reload_page" in Pinchflat.Pages.HistoryTableLive Parameters: %{"value" => ""} 18:43:48.110 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=727.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)) [] 18:43:48.113 [debug] QUERY OK source="media_items" db=1.9ms queue=0.5ms idle=546.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:43:48.116 [debug] QUERY OK source="sources" db=1.1ms queue=1.8ms idle=135.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:43:48.117 [debug] Replied in 10ms 18:43:48.153 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zgl-lhrouZk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/62/19/62195907f98e1230721613a9393249bc4b8771a08e06c1fbd1ac435c8ad60f4c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:43:48.186 [debug] Running yt-dlp command for action: download_thumbnail 18:43:48.189 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=210.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:48.190 [debug] QUERY OK source="settings" db=0.7ms idle=212.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:48.191 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=80.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:43:48.192 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zgl-lhrouZk --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/aa/a1/aaa174a6f750c1b10aa0f7c64a9ad8a04bc4344a641df5147db6f597e3416e55.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:43:48.316 [debug] Current batch of media processed. Will check again in 1000ms 18:43:49.321 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 161, "filename" => "/downloads/UnpragmaticCovers/2026-05-15 Faint - Linkin Park but it's the OldSchool RuneScape soundfont/Faint - Linkin Park but it's the OldSchool RuneScape soundfont [GPjCUtMaqkM].mp4", "id" => "GPjCUtMaqkM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GPjCUtMaqkM", "playlist_index" => 13, "timestamp" => 1778853620, "title" => "Faint - Linkin Park but it's the OldSchool RuneScape soundfont", "upload_date" => "20260515"} 18:43:49.323 [debug] QUERY OK source="sources" db=0.7ms queue=0.9ms idle=1204.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:43:49.324 [debug] QUERY OK source="sources" db=0.5ms queue=0.3ms idle=1134.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:43:49.326 [debug] QUERY OK source="media_items" db=1.4ms queue=0.2ms idle=1133.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-15 14:00:20Z], 1] 18:43:49.330 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=1135.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Faint - Linkin Park but it's the OldSchool RuneScape soundfont", "18e1d426-bb6a-40ee-8f34-086482e4e9d4", "GPjCUtMaqkM", false, "https://www.youtube.com/watch?v=GPjCUtMaqkM", 1, [], 161, false, 13, "/downloads/UnpragmaticCovers/2026-05-15 Faint - Linkin Park but it's the OldSchool RuneScape soundfont/Faint - Linkin Park but it's the OldSchool RuneScape soundfont [GPjCUtMaqkM].mp4", false, false, 99, ~U[2026-05-15 14:00:20Z], ~U[2026-06-27 16:43:49Z], ~U[2026-06-27 16:43:49Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Faint - Linkin Park but it's the OldSchool RuneScape soundfont", "GPjCUtMaqkM", "https://www.youtube.com/watch?v=GPjCUtMaqkM", 1, 161, false, "/downloads/UnpragmaticCovers/2026-05-15 Faint - Linkin Park but it's the OldSchool RuneScape soundfont/Faint - Linkin Park but it's the OldSchool RuneScape soundfont [GPjCUtMaqkM].mp4", false, ~U[2026-05-15 14:00:20Z]] 18:43:49.331 [debug] QUERY OK source="sources" db=0.7ms idle=931.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:49.332 [debug] QUERY OK source="media_profiles" db=0.6ms idle=8.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:43:49.334 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=9.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13] 18:43:49.334 [info] Kicking off download for media item #13 (GPjCUtMaqkM) 18:43:49.341 [debug] QUERY OK source="tasks" db=1.2ms queue=0.1ms idle=8.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [16, 13, ~U[2026-06-27 16:43:49Z], ~U[2026-06-27 16:43:49Z]] 18:43:49.342 [debug] Current batch of media processed. Will check again in 1000ms 18:43:50.342 [debug] Current batch of media processed. Will check again in 1000ms 18:43:50.604 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=e3_9pdi8WZQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f9/17/f91728f007b66824655f4d545ad80f77de6a76a2174d22b37e5039541d381bbe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:43:50.605 [debug] Running yt-dlp command for action: download 18:43:50.606 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1266.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:43:50.606 [debug] QUERY OK source="settings" db=0.4ms idle=1266.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.607 [debug] QUERY OK source="settings" db=0.3ms idle=1265.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.608 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=e3_9pdi8WZQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e1/a2/e1a2c5632181fbc940de09825761a7e78643f244055ce0082f184ffed5dea230.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:43:51.343 [debug] Current batch of media processed. Will check again in 1000ms 18:43:52.206 [info] GET /sources/1/media/1 18:43:52.206 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1", "source_id" => "1"} Pipelines: [:browser] 18:43:52.213 [debug] QUERY OK source="media_items" db=6.8ms idle=1228.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [1] 18:43:52.214 [debug] QUERY OK source="tasks" db=0.6ms idle=795.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" [1] 18:43:52.215 [debug] QUERY OK source="sources" db=1.0ms 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] 18:43:52.217 [debug] QUERY OK source="oban_jobs" db=0.7ms idle=236.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" = ?) [4] 18:43:52.224 [debug] QUERY OK source="settings" db=1.9ms queue=4.8ms idle=237.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.225 [debug] QUERY OK source="settings" db=0.5ms 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:43:52.233 [debug] QUERY OK source="settings" db=6.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 [] 18:43:52.238 [debug] QUERY OK source="media_profiles" db=2.7ms queue=0.8ms idle=19.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:43:52.242 [info] Sent 200 in 36ms 18:43:52.344 [debug] Current batch of media processed. Will check again in 1000ms 18:43:52.433 [info] GET /media/2d173dc5-d33e-47e2-815a-86147b1a270c/stream 18:43:52.433 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "2d173dc5-d33e-47e2-815a-86147b1a270c", "v" => "1782578623"} Pipelines: [:maybe_basic_auth] 18:43:52.438 [debug] QUERY OK source="media_items" db=2.2ms queue=2.3ms idle=209.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" = ?) ["2d173dc5-d33e-47e2-815a-86147b1a270c"] 18:43:52.443 [debug] Streaming media item: 2d173dc5-d33e-47e2-815a-86147b1a270c from 0 to 6441821 18:43:52.443 [info] Sent 206 in 9ms 18:43:52.449 [info] CONNECTED TO Phoenix.LiveView.Socket in 44µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ERkSUT4QJxQeG2EYO2RmAxcIMxFcPh0VrzVgIUJUWm1vbV-KVQTh9wZt", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:43:52.462 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:43:52.462 [debug] Replied in 244µs 18:43:53.346 [debug] Current batch of media processed. Will check again in 1000ms 18:43:54.348 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Right about now\nThe barrows brother\nCheck it out now\nThe barrows brother\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 373, "filename" => "/downloads/UnpragmaticCovers/2026-05-12 The Rockafeller Skank - Fatboy Slim but it's the OldSchool RuneScape soundfont/The Rockafeller Skank - Fatboy Slim but it's the OldSchool RuneScape soundfont [BjoamIXUf_4].mp4", "id" => "BjoamIXUf_4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BjoamIXUf_4", "playlist_index" => 14, "timestamp" => 1778594414, "title" => "The Rockafeller Skank - Fatboy Slim but it's the OldSchool RuneScape soundfont", "upload_date" => "20260512"} 18:43:54.355 [debug] QUERY OK source="sources" db=1.0ms queue=2.4ms idle=924.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:43:54.356 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=377.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:43:54.358 [debug] QUERY OK source="media_items" db=0.5ms idle=378.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-12 14:00:14Z], 1] 18:43:54.366 [debug] QUERY OK source="media_items" db=4.1ms queue=0.6ms idle=380.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Right about now\nThe barrows brother\nCheck it out now\nThe barrows brother\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "The Rockafeller Skank - Fatboy Slim but it's the OldSchool RuneScape soundfont", "dc8b5a2e-3144-4012-a737-61e543226fea", "BjoamIXUf_4", false, "https://www.youtube.com/watch?v=BjoamIXUf_4", 1, [], 373, false, 14, "/downloads/UnpragmaticCovers/2026-05-12 The Rockafeller Skank - Fatboy Slim but it's the OldSchool RuneScape soundfont/The Rockafeller Skank - Fatboy Slim but it's the OldSchool RuneScape soundfont [BjoamIXUf_4].mp4", false, false, 99, ~U[2026-05-12 14:00:14Z], ~U[2026-06-27 16:43:54Z], ~U[2026-06-27 16:43:54Z], "Right about now\nThe barrows brother\nCheck it out now\nThe barrows brother\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "The Rockafeller Skank - Fatboy Slim but it's the OldSchool RuneScape soundfont", "BjoamIXUf_4", "https://www.youtube.com/watch?v=BjoamIXUf_4", 1, 373, false, "/downloads/UnpragmaticCovers/2026-05-12 The Rockafeller Skank - Fatboy Slim but it's the OldSchool RuneScape soundfont/The Rockafeller Skank - Fatboy Slim but it's the OldSchool RuneScape soundfont [BjoamIXUf_4].mp4", false, ~U[2026-05-12 14:00:14Z]] 18:43:54.368 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=388.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:54.370 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.5ms idle=13.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:43:54.371 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=13.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [14] 18:43:54.371 [info] Kicking off download for media item #14 (BjoamIXUf_4) 18:43:54.379 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=10.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [17, 14, ~U[2026-06-27 16:43:54Z], ~U[2026-06-27 16:43:54Z]] 18:43:54.380 [debug] Current batch of media processed. Will check again in 1000ms 18:43:55.299 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zgl-lhrouZk --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/aa/a1/aaa174a6f750c1b10aa0f7c64a9ad8a04bc4344a641df5147db6f597e3416e55.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:43:55.300 [debug] QUERY OK db=0.0ms idle=928.5ms begin [] 18:43:55.301 [debug] QUERY OK source="media_items" db=0.5ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/UnpragmaticCovers/2026-06-23 Party Hard - Andrew W. K. but it's the OldSchool RuneScape soundfont/Party Hard - Andrew W. K. but it's the OldSchool RuneScape soundfont [zgl-lhrouZk].mp4", "/downloads/UnpragmaticCovers/2026-06-23 Party Hard - Andrew W. K. but it's the OldSchool RuneScape soundfont/Party Hard - Andrew W. K. but it's the OldSchool RuneScape soundfont [zgl-lhrouZk]-thumb.jpg", ~U[2026-06-27 16:43:48Z], ~U[2026-06-27 16:43:55Z], 2] 18:43:55.311 [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/2/metadata.json.gz", "/config/metadata/media_items/2/thumbnail.jpg", 2, ~U[2026-06-27 16:43:55Z], ~U[2026-06-27 16:43:55Z]] 18:43:55.313 [debug] QUERY OK db=1.6ms commit [] 18:43:55.322 [debug] QUERY OK source="media_items" db=3.2ms idle=942.4ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [4814164, ~U[2026-06-27 16:43:55Z], 2] 18:43:55.322 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:43:55.330 [info] {"args":{"id":2},"id":5,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":57768777,"event":"job:stop","queue_time":552679,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:43:55.342 [info] {"args":{"id":4},"id":7,"meta":{},"system_time":1782578635339604884,"max_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:55.344 [debug] QUERY OK source="media_items" db=1.0ms queue=0.4ms idle=900.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" = ?) [4] 18:43:55.347 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:43:55.349 [debug] QUERY OK source="sources" db=0.7ms queue=0.5ms idle=34.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:43:55.351 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.2ms 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] 18:43:55.353 [debug] QUERY OK source="media_items" db=0.8ms queue=0.2ms idle=22.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4] 18:43:55.358 [debug] QUERY OK source="media_metadata" db=0.4ms 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" = ?) [4] 18:43:55.360 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.3ms 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] 18:43:55.362 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 18:43:55.365 [debug] QUERY OK source="settings" db=2.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 [] 18:43:55.366 [debug] Running yt-dlp command for action: get_downloadable_status 18:43:55.370 [debug] QUERY OK source="settings" db=0.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 [] 18:43:55.372 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=13.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:43:55.374 [debug] QUERY OK source="settings" db=0.8ms queue=0.3ms idle=13.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:43:55.376 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QrskyYE6ku8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6e/5c/6e5c64b1bcdd06aad4eb414d25e387308ca9e1589f583c3a7d6da10c96970ea1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:43:55.380 [debug] Current batch of media processed. Will check again in 1000ms 18:43:55.705 [info] GET /media/2d173dc5-d33e-47e2-815a-86147b1a270c/stream 18:43:55.705 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "2d173dc5-d33e-47e2-815a-86147b1a270c", "v" => "1782578623"} Pipelines: [:maybe_basic_auth] 18:43:55.708 [debug] QUERY OK source="media_items" db=0.8ms queue=1.3ms idle=341.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" = ?) ["2d173dc5-d33e-47e2-815a-86147b1a270c"] 18:43:55.714 [debug] Streaming media item: 2d173dc5-d33e-47e2-815a-86147b1a270c from 2293760 to 6441821 18:43:55.714 [info] Sent 206 in 9ms 18:43:56.383 [debug] Current batch of media processed. Will check again in 1000ms 18:43:57.384 [debug] Current batch of media processed. Will check again in 1000ms 18:43:58.385 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get your slayer level up, slayer task is complete\nAll eyes on Nieve, All eyes on Nieve\n\nArtwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 207, "filename" => "/downloads/UnpragmaticCovers/2026-05-08 All Eyes On Me - Bo Burnham but it's the OldSchool RuneScape soundfont/All Eyes On Me - Bo Burnham but it's the OldSchool RuneScape soundfont [Ya8pAEO--lc].mp4", "id" => "Ya8pAEO--lc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Ya8pAEO--lc", "playlist_index" => 15, "timestamp" => 1778248864, "title" => "All Eyes On Me - Bo Burnham but it's the OldSchool RuneScape soundfont", "upload_date" => "20260508"} 18:43:58.386 [debug] QUERY OK source="sources" db=0.3ms idle=1407.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:43:58.387 [debug] QUERY OK source="sources" db=0.3ms idle=1407.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:43:58.387 [debug] QUERY OK source="media_items" db=0.2ms idle=1408.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-08 14:01:04Z], 1] 18:43:58.388 [debug] QUERY OK source="media_items" db=0.5ms idle=1409.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get your slayer level up, slayer task is complete\nAll eyes on Nieve, All eyes on Nieve\n\nArtwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "All Eyes On Me - Bo Burnham but it's the OldSchool RuneScape soundfont", "8e3a871a-6f7a-4238-87e8-dd91395c591f", "Ya8pAEO--lc", false, "https://www.youtube.com/watch?v=Ya8pAEO--lc", 1, [], 207, false, 15, "/downloads/UnpragmaticCovers/2026-05-08 All Eyes On Me - Bo Burnham but it's the OldSchool RuneScape soundfont/All Eyes On Me - Bo Burnham but it's the OldSchool RuneScape soundfont [Ya8pAEO--lc].mp4", false, false, 99, ~U[2026-05-08 14:01:04Z], ~U[2026-06-27 16:43:58Z], ~U[2026-06-27 16:43:58Z], "Get your slayer level up, slayer task is complete\nAll eyes on Nieve, All eyes on Nieve\n\nArtwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "All Eyes On Me - Bo Burnham but it's the OldSchool RuneScape soundfont", "Ya8pAEO--lc", "https://www.youtube.com/watch?v=Ya8pAEO--lc", 1, 207, false, "/downloads/UnpragmaticCovers/2026-05-08 All Eyes On Me - Bo Burnham but it's the OldSchool RuneScape soundfont/All Eyes On Me - Bo Burnham but it's the OldSchool RuneScape soundfont [Ya8pAEO--lc].mp4", false, ~U[2026-05-08 14:01:04Z]] 18:43:58.389 [debug] QUERY OK source="sources" db=0.4ms idle=919.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:58.389 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:43:58.390 [debug] QUERY OK source="media_items" db=0.6ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [15] 18:43:58.390 [info] Kicking off download for media item #15 (Ya8pAEO--lc) 18:43:58.392 [debug] QUERY OK source="tasks" db=0.1ms idle=2.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [18, 15, ~U[2026-06-27 16:43:58Z], ~U[2026-06-27 16:43:58Z]] 18:43:58.392 [debug] Current batch of media processed. Will check again in 1000ms 18:43:59.393 [debug] Current batch of media processed. Will check again in 1000ms 18:44:00.394 [debug] Current batch of media processed. Will check again in 1000ms 18:44:00.645 [info] {"source":"oban","duration":1129,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:44:01.395 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "XP waste's a tragedy and boredom is a crime\n\nArtwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 271, "filename" => "/downloads/UnpragmaticCovers/2026-05-05 Welcome to the Internet - Bo Burnham but it's the OldSchool RuneScape soundfont/Welcome to the Internet - Bo Burnham but it's the OldSchool RuneScape soundfont [qEncthK9AnM].mp4", "id" => "qEncthK9AnM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qEncthK9AnM", "playlist_index" => 16, "timestamp" => 1777989694, "title" => "Welcome to the Internet - Bo Burnham but it's the OldSchool RuneScape soundfont", "upload_date" => "20260505"} 18:44:01.396 [debug] QUERY OK source="sources" db=0.3ms idle=1414.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:44:01.397 [debug] QUERY OK source="sources" db=0.2ms idle=1415.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:01.397 [debug] QUERY OK source="media_items" db=0.3ms idle=1415.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-05 14:01:34Z], 1] 18:44:01.403 [debug] QUERY OK source="media_items" db=4.6ms idle=920.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["XP waste's a tragedy and boredom is a crime\n\nArtwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Welcome to the Internet - Bo Burnham but it's the OldSchool RuneScape soundfont", "0a8586bd-c097-430f-81a8-2d868d5f84dc", "qEncthK9AnM", false, "https://www.youtube.com/watch?v=qEncthK9AnM", 1, [], 271, false, 16, "/downloads/UnpragmaticCovers/2026-05-05 Welcome to the Internet - Bo Burnham but it's the OldSchool RuneScape soundfont/Welcome to the Internet - Bo Burnham but it's the OldSchool RuneScape soundfont [qEncthK9AnM].mp4", false, false, 99, ~U[2026-05-05 14:01:34Z], ~U[2026-06-27 16:44:01Z], ~U[2026-06-27 16:44:01Z], "XP waste's a tragedy and boredom is a crime\n\nArtwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Welcome to the Internet - Bo Burnham but it's the OldSchool RuneScape soundfont", "qEncthK9AnM", "https://www.youtube.com/watch?v=qEncthK9AnM", 1, 271, false, "/downloads/UnpragmaticCovers/2026-05-05 Welcome to the Internet - Bo Burnham but it's the OldSchool RuneScape soundfont/Welcome to the Internet - Bo Burnham but it's the OldSchool RuneScape soundfont [qEncthK9AnM].mp4", false, ~U[2026-05-05 14:01:34Z]] 18:44:01.404 [debug] QUERY OK source="sources" db=0.3ms queue=1.2ms idle=758.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:01.405 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.2ms idle=8.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:44:01.406 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=8.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [16] 18:44:01.406 [info] Kicking off download for media item #16 (qEncthK9AnM) 18:44:01.409 [debug] QUERY OK source="tasks" db=0.1ms idle=3.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [19, 16, ~U[2026-06-27 16:44:01Z], ~U[2026-06-27 16:44:01Z]] 18:44:01.409 [debug] Current batch of media processed. Will check again in 1000ms 18:44:02.409 [debug] Current batch of media processed. Will check again in 1000ms 18:44:03.058 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=e3_9pdi8WZQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e1/a2/e1a2c5632181fbc940de09825761a7e78643f244055ce0082f184ffed5dea230.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:44:03.096 [debug] Running yt-dlp command for action: download_thumbnail 18:44:03.099 [debug] QUERY OK source="settings" db=0.3ms idle=618.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:03.100 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=117.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:44:03.102 [debug] QUERY OK source="settings" db=1.3ms idle=118.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:44:03.102 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=e3_9pdi8WZQ --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/30/f8/30f8ab2029c4c02f56f8348cabda6d930fd9f67f1e7572bca14c4489ce615790.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:44:03.410 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I came in like a cannonball\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 214, "filename" => "/downloads/UnpragmaticCovers/2026-05-01 Wrecking Ball - Miley Cyrus but it's the OldSchool RuneScape soundfont/Wrecking Ball - Miley Cyrus but it's the OldSchool RuneScape soundfont [7jysADApIQU].mp4", "id" => "7jysADApIQU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7jysADApIQU", "playlist_index" => 17, "timestamp" => 1777644011, "title" => "Wrecking Ball - Miley Cyrus but it's the OldSchool RuneScape soundfont", "upload_date" => "20260501"} 18:44:03.412 [debug] QUERY OK source="sources" db=0.6ms idle=429.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:44:03.412 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=430.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:03.413 [debug] QUERY OK source="media_items" db=0.6ms idle=313.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-01 14:00:11Z], 1] 18:44:03.415 [debug] QUERY OK source="media_items" db=1.6ms idle=313.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I came in like a cannonball\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Wrecking Ball - Miley Cyrus but it's the OldSchool RuneScape soundfont", "05b2de01-34eb-488a-ae6e-a96c69af2260", "7jysADApIQU", false, "https://www.youtube.com/watch?v=7jysADApIQU", 1, [], 214, false, 17, "/downloads/UnpragmaticCovers/2026-05-01 Wrecking Ball - Miley Cyrus but it's the OldSchool RuneScape soundfont/Wrecking Ball - Miley Cyrus but it's the OldSchool RuneScape soundfont [7jysADApIQU].mp4", false, false, 99, ~U[2026-05-01 14:00:11Z], ~U[2026-06-27 16:44:03Z], ~U[2026-06-27 16:44:03Z], "I came in like a cannonball\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Wrecking Ball - Miley Cyrus but it's the OldSchool RuneScape soundfont", "7jysADApIQU", "https://www.youtube.com/watch?v=7jysADApIQU", 1, 214, false, "/downloads/UnpragmaticCovers/2026-05-01 Wrecking Ball - Miley Cyrus but it's the OldSchool RuneScape soundfont/Wrecking Ball - Miley Cyrus but it's the OldSchool RuneScape soundfont [7jysADApIQU].mp4", false, ~U[2026-05-01 14:00:11Z]] 18:44:03.416 [debug] QUERY OK source="sources" db=0.3ms idle=314.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:03.417 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.4ms 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] 18:44:03.418 [debug] QUERY OK source="media_items" db=0.4ms idle=5.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [17] 18:44:03.418 [info] Kicking off download for media item #17 (7jysADApIQU) 18:44:03.423 [debug] QUERY OK source="tasks" db=0.6ms idle=6.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [20, 17, ~U[2026-06-27 16:44:03Z], ~U[2026-06-27 16:44:03Z]] 18:44:03.423 [debug] Current batch of media processed. Will check again in 1000ms 18:44:04.424 [debug] Current batch of media processed. Will check again in 1000ms 18:44:05.425 [debug] Current batch of media processed. Will check again in 1000ms 18:44:05.451 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QrskyYE6ku8 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6e/5c/6e5c64b1bcdd06aad4eb414d25e387308ca9e1589f583c3a7d6da10c96970ea1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:44:05.451 [debug] Running yt-dlp command for action: download 18:44:05.452 [debug] QUERY OK source="settings" db=0.2ms idle=966.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.452 [debug] QUERY OK source="settings" db=0.3ms idle=470.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.453 [debug] QUERY OK source="settings" db=0.1ms idle=471.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.453 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QrskyYE6ku8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/28/a3/28a3ebd78f71513d4a8d6f4a0ff1c7b2340341e597ee058c98ea6362e880f70f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:44:06.430 [debug] Current batch of media processed. Will check again in 1000ms 18:44:07.430 [debug] Current batch of media processed. Will check again in 1000ms 18:44:08.221 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=e3_9pdi8WZQ --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/30/f8/30f8ab2029c4c02f56f8348cabda6d930fd9f67f1e7572bca14c4489ce615790.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:44:08.224 [debug] QUERY OK db=0.4ms idle=1241.9ms begin [] 18:44:08.225 [debug] QUERY OK source="media_items" db=0.7ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/UnpragmaticCovers/2026-06-19 bad guy - Billie Eilish but it's the OldSchool RuneScape soundfont/bad guy - Billie Eilish but it's the OldSchool RuneScape soundfont [e3_9pdi8WZQ].mp4", "/downloads/UnpragmaticCovers/2026-06-19 bad guy - Billie Eilish but it's the OldSchool RuneScape soundfont/bad guy - Billie Eilish but it's the OldSchool RuneScape soundfont [e3_9pdi8WZQ]-thumb.jpg", ~U[2026-06-27 16:44:03Z], ~U[2026-06-27 16:44:08Z], 3] 18:44:08.225 [debug] QUERY OK source="media_metadata" db=0.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/3/metadata.json.gz", "/config/metadata/media_items/3/thumbnail.jpg", 3, ~U[2026-06-27 16:44:08Z], ~U[2026-06-27 16:44:08Z]] 18:44:08.226 [debug] QUERY OK db=0.2ms commit [] 18:44:08.227 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=1244.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [4546713, ~U[2026-06-27 16:44:08Z], 3] 18:44:08.227 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:44:08.227 [info] {"args":{"id":3},"id":6,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":25133857,"event":"job:stop","queue_time":43091668,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:44:08.234 [info] {"args":{"id":5},"id":8,"meta":{},"system_time":1782578648234400568,"max_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:44:08.235 [debug] QUERY OK source="media_items" db=0.2ms idle=252.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [5] 18:44:08.235 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:44:08.235 [debug] QUERY OK source="sources" db=0.2ms idle=9.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:08.236 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:44:08.236 [debug] QUERY OK source="media_items" db=0.2ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5] 18:44:08.238 [debug] QUERY OK source="media_metadata" db=0.2ms idle=3.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [5] 18:44:08.238 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:44:08.239 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:44:08.239 [debug] QUERY OK source="settings" db=0.4ms 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 [] 18:44:08.240 [debug] Running yt-dlp command for action: get_downloadable_status 18:44:08.241 [debug] QUERY OK source="settings" db=0.1ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:44:08.241 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:44:08.241 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:44:08.241 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u6KcXTb4tGQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/17/e2/17e2030aad407d0199798bc6253f2470374f36413fc2c2e287eff29986dab83c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:44:08.434 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 213, "filename" => "/downloads/UnpragmaticCovers/2026-04-28 Mambo No. 5 (A Little Bit of...) but it's the OldSchool RuneScape soundfont/Mambo No. 5 (A Little Bit of...) but it's the OldSchool RuneScape soundfont [z_EssL3tw0c].mp4", "id" => "z_EssL3tw0c", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=z_EssL3tw0c", "playlist_index" => 18, "timestamp" => 1777384903, "title" => "Mambo No. 5 (A Little Bit of...) but it's the OldSchool RuneScape soundfont", "upload_date" => "20260428"} 18:44:08.436 [debug] QUERY OK source="sources" db=1.4ms idle=195.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:44:08.438 [debug] QUERY OK source="sources" db=1.3ms idle=197.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:44:08.440 [debug] QUERY OK source="media_items" db=1.0ms queue=0.2ms idle=198.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-28 14:01:43Z], 1] 18:44:08.445 [debug] QUERY OK source="media_items" db=2.7ms idle=200.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Mambo No. 5 (A Little Bit of...) but it's the OldSchool RuneScape soundfont", "1c3ec666-22bd-429f-acbf-82257cbe16ab", "z_EssL3tw0c", false, "https://www.youtube.com/watch?v=z_EssL3tw0c", 1, [], 213, false, 18, "/downloads/UnpragmaticCovers/2026-04-28 Mambo No. 5 (A Little Bit of...) but it's the OldSchool RuneScape soundfont/Mambo No. 5 (A Little Bit of...) but it's the OldSchool RuneScape soundfont [z_EssL3tw0c].mp4", false, false, 99, ~U[2026-04-28 14:01:43Z], ~U[2026-06-27 16:44:08Z], ~U[2026-06-27 16:44:08Z], "Artwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Mambo No. 5 (A Little Bit of...) but it's the OldSchool RuneScape soundfont", "z_EssL3tw0c", "https://www.youtube.com/watch?v=z_EssL3tw0c", 1, 213, false, "/downloads/UnpragmaticCovers/2026-04-28 Mambo No. 5 (A Little Bit of...) but it's the OldSchool RuneScape soundfont/Mambo No. 5 (A Little Bit of...) but it's the OldSchool RuneScape soundfont [z_EssL3tw0c].mp4", false, ~U[2026-04-28 14:01:43Z]] 18:44:08.447 [debug] QUERY OK source="sources" db=1.0ms queue=0.2ms idle=204.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:08.453 [debug] QUERY OK source="media_profiles" db=1.9ms 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] 18:44:08.454 [debug] QUERY OK source="media_items" db=1.2ms idle=15.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18] 18:44:08.454 [info] Kicking off download for media item #18 (z_EssL3tw0c) 18:44:08.459 [debug] QUERY OK source="tasks" db=1.4ms idle=10.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [21, 18, ~U[2026-06-27 16:44:08Z], ~U[2026-06-27 16:44:08Z]] 18:44:08.459 [debug] Current batch of media processed. Will check again in 1000ms 18:44:09.460 [debug] Current batch of media processed. Will check again in 1000ms 18:44:10.461 [debug] Current batch of media processed. Will check again in 1000ms 18:44:11.462 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 241, "filename" => "/downloads/UnpragmaticCovers/2026-04-24 Whatsername - Green Day but it's the OldSchool RuneScape soundfont/Whatsername - Green Day but it's the OldSchool RuneScape soundfont [R_QKo_ukrrM].mp4", "id" => "R_QKo_ukrrM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=R_QKo_ukrrM", "playlist_index" => 19, "timestamp" => 1777039246, "title" => "Whatsername - Green Day but it's the OldSchool RuneScape soundfont", "upload_date" => "20260424"} 18:44:11.463 [debug] QUERY OK source="sources" db=0.4ms idle=1481.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:44:11.464 [debug] QUERY OK source="sources" db=0.2ms idle=1482.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:44:11.464 [debug] QUERY OK source="media_items" db=0.3ms idle=1482.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-24 14:00:46Z], 1] 18:44:11.466 [debug] QUERY OK source="media_items" db=0.9ms idle=1483.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Whatsername - Green Day but it's the OldSchool RuneScape soundfont", "068978bc-a223-4125-8994-79c094728113", "R_QKo_ukrrM", false, "https://www.youtube.com/watch?v=R_QKo_ukrrM", 1, [], 241, false, 19, "/downloads/UnpragmaticCovers/2026-04-24 Whatsername - Green Day but it's the OldSchool RuneScape soundfont/Whatsername - Green Day but it's the OldSchool RuneScape soundfont [R_QKo_ukrrM].mp4", false, false, 99, ~U[2026-04-24 14:00:46Z], ~U[2026-06-27 16:44:11Z], ~U[2026-06-27 16:44:11Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Whatsername - Green Day but it's the OldSchool RuneScape soundfont", "R_QKo_ukrrM", "https://www.youtube.com/watch?v=R_QKo_ukrrM", 1, 241, false, "/downloads/UnpragmaticCovers/2026-04-24 Whatsername - Green Day but it's the OldSchool RuneScape soundfont/Whatsername - Green Day but it's the OldSchool RuneScape soundfont [R_QKo_ukrrM].mp4", false, ~U[2026-04-24 14:00:46Z]] 18:44:11.466 [debug] QUERY OK source="sources" db=0.2ms idle=946.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:11.466 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:44:11.469 [debug] QUERY OK source="media_items" db=0.2ms idle=5.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [19] 18:44:11.469 [info] Kicking off download for media item #19 (R_QKo_ukrrM) 18:44:11.471 [debug] QUERY OK source="tasks" db=0.2ms idle=4.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [22, 19, ~U[2026-06-27 16:44:11Z], ~U[2026-06-27 16:44:11Z]] 18:44:11.471 [debug] Current batch of media processed. Will check again in 1000ms 18:44:12.471 [debug] Current batch of media processed. Will check again in 1000ms 18:44:13.473 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Little girl you're in the middle of the grind\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 166, "filename" => "/downloads/UnpragmaticCovers/2026-04-21 The Middle - Jimmy Eat World but it's the OldSchool RuneScape soundfont/The Middle - Jimmy Eat World but it's the OldSchool RuneScape soundfont [fM-P82Z3DNM].mp4", "id" => "fM-P82Z3DNM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fM-P82Z3DNM", "playlist_index" => 20, "timestamp" => 1776780060, "title" => "The Middle - Jimmy Eat World but it's the OldSchool RuneScape soundfont", "upload_date" => "20260421"} 18:44:13.475 [debug] QUERY OK source="sources" db=1.7ms queue=0.1ms idle=948.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:44:13.477 [debug] QUERY OK source="sources" db=0.5ms idle=494.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:13.477 [debug] QUERY OK source="media_items" db=0.3ms idle=495.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-21 14:01:00Z], 1] 18:44:13.480 [debug] QUERY OK source="media_items" db=2.0ms idle=496.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Little girl you're in the middle of the grind\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "The Middle - Jimmy Eat World but it's the OldSchool RuneScape soundfont", "f3e1d5c1-0551-46a6-b7d2-0f9dcbe5f2c3", "fM-P82Z3DNM", false, "https://www.youtube.com/watch?v=fM-P82Z3DNM", 1, [], 166, false, 20, "/downloads/UnpragmaticCovers/2026-04-21 The Middle - Jimmy Eat World but it's the OldSchool RuneScape soundfont/The Middle - Jimmy Eat World but it's the OldSchool RuneScape soundfont [fM-P82Z3DNM].mp4", false, false, 99, ~U[2026-04-21 14:01:00Z], ~U[2026-06-27 16:44:13Z], ~U[2026-06-27 16:44:13Z], "Little girl you're in the middle of the grind\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "The Middle - Jimmy Eat World but it's the OldSchool RuneScape soundfont", "fM-P82Z3DNM", "https://www.youtube.com/watch?v=fM-P82Z3DNM", 1, 166, false, "/downloads/UnpragmaticCovers/2026-04-21 The Middle - Jimmy Eat World but it's the OldSchool RuneScape soundfont/The Middle - Jimmy Eat World but it's the OldSchool RuneScape soundfont [fM-P82Z3DNM].mp4", false, ~U[2026-04-21 14:01:00Z]] 18:44:13.481 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=499.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:13.482 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:44:13.483 [debug] QUERY OK source="media_items" db=0.5ms idle=5.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [20] 18:44:13.483 [info] Kicking off download for media item #20 (fM-P82Z3DNM) 18:44:13.486 [debug] QUERY OK source="tasks" db=0.3ms idle=4.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [23, 20, ~U[2026-06-27 16:44:13Z], ~U[2026-06-27 16:44:13Z]] 18:44:13.486 [debug] Current batch of media processed. Will check again in 1000ms 18:44:14.486 [debug] Current batch of media processed. Will check again in 1000ms 18:44:15.487 [debug] Current batch of media processed. Will check again in 1000ms 18:44:16.489 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 215, "filename" => "/downloads/UnpragmaticCovers/2026-04-17 Superbeast - Rob Zombie but it's the OldSchool RuneScape soundfont/Superbeast - Rob Zombie but it's the OldSchool RuneScape soundfont [HGySK5oNML0].mp4", "id" => "HGySK5oNML0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=HGySK5oNML0", "playlist_index" => 21, "timestamp" => 1776434427, "title" => "Superbeast - Rob Zombie but it's the OldSchool RuneScape soundfont", "upload_date" => "20260417"} 18:44:16.490 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=1507.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:44:16.492 [debug] QUERY OK source="sources" db=0.6ms idle=1509.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:44:16.493 [debug] QUERY OK source="media_items" db=0.4ms idle=1510.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-17 14:00:27Z], 1] 18:44:16.495 [debug] QUERY OK source="media_items" db=1.4ms idle=1511.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Superbeast - Rob Zombie but it's the OldSchool RuneScape soundfont", "72c3ed75-ecc0-4d3d-a1be-180e19eea6a0", "HGySK5oNML0", false, "https://www.youtube.com/watch?v=HGySK5oNML0", 1, [], 215, false, 21, "/downloads/UnpragmaticCovers/2026-04-17 Superbeast - Rob Zombie but it's the OldSchool RuneScape soundfont/Superbeast - Rob Zombie but it's the OldSchool RuneScape soundfont [HGySK5oNML0].mp4", false, false, 99, ~U[2026-04-17 14:00:27Z], ~U[2026-06-27 16:44:16Z], ~U[2026-06-27 16:44:16Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Superbeast - Rob Zombie but it's the OldSchool RuneScape soundfont", "HGySK5oNML0", "https://www.youtube.com/watch?v=HGySK5oNML0", 1, 215, false, "/downloads/UnpragmaticCovers/2026-04-17 Superbeast - Rob Zombie but it's the OldSchool RuneScape soundfont/Superbeast - Rob Zombie but it's the OldSchool RuneScape soundfont [HGySK5oNML0].mp4", false, ~U[2026-04-17 14:00:27Z]] 18:44:16.496 [debug] QUERY OK source="sources" db=0.3ms idle=961.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:16.497 [debug] QUERY OK source="media_profiles" db=0.6ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:44:16.500 [debug] QUERY OK source="media_items" db=2.5ms idle=5.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [21] 18:44:16.500 [info] Kicking off download for media item #21 (HGySK5oNML0) 18:44:16.504 [debug] QUERY OK source="tasks" db=0.5ms queue=0.3ms idle=7.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [24, 21, ~U[2026-06-27 16:44:16Z], ~U[2026-06-27 16:44:16Z]] 18:44:16.505 [debug] Current batch of media processed. Will check again in 1000ms 18:44:17.505 [debug] Current batch of media processed. Will check again in 1000ms 18:44:17.566 [info] {"source":"oban","duration":1650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:18.507 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 273, "filename" => "/downloads/UnpragmaticCovers/2026-04-14 Nemo - Nightwish but it's the OldSchool RuneScape soundfont/Nemo - Nightwish but it's the OldSchool RuneScape soundfont [SwXFqXp1XDA].mp4", "id" => "SwXFqXp1XDA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SwXFqXp1XDA", "playlist_index" => 22, "timestamp" => 1776175249, "title" => "Nemo - Nightwish but it's the OldSchool RuneScape soundfont", "upload_date" => "20260414"} 18:44:18.509 [debug] QUERY OK source="sources" db=1.1ms idle=968.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:44:18.510 [debug] QUERY OK source="sources" db=0.4ms idle=942.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:44:18.511 [debug] QUERY OK source="media_items" db=0.3ms idle=528.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-14 14:00:49Z], 1] 18:44:18.513 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=529.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Nemo - Nightwish but it's the OldSchool RuneScape soundfont", "3a17ba17-3412-4ab6-af1e-99c0b5c6b29e", "SwXFqXp1XDA", false, "https://www.youtube.com/watch?v=SwXFqXp1XDA", 1, [], 273, false, 22, "/downloads/UnpragmaticCovers/2026-04-14 Nemo - Nightwish but it's the OldSchool RuneScape soundfont/Nemo - Nightwish but it's the OldSchool RuneScape soundfont [SwXFqXp1XDA].mp4", false, false, 99, ~U[2026-04-14 14:00:49Z], ~U[2026-06-27 16:44:18Z], ~U[2026-06-27 16:44:18Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Nemo - Nightwish but it's the OldSchool RuneScape soundfont", "SwXFqXp1XDA", "https://www.youtube.com/watch?v=SwXFqXp1XDA", 1, 273, false, "/downloads/UnpragmaticCovers/2026-04-14 Nemo - Nightwish but it's the OldSchool RuneScape soundfont/Nemo - Nightwish but it's the OldSchool RuneScape soundfont [SwXFqXp1XDA].mp4", false, ~U[2026-04-14 14:00:49Z]] 18:44:18.513 [debug] QUERY OK source="sources" db=0.4ms idle=531.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:18.514 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:44:18.516 [debug] QUERY OK source="media_items" db=0.7ms idle=5.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [22] 18:44:18.516 [info] Kicking off download for media item #22 (SwXFqXp1XDA) 18:44:18.519 [debug] QUERY OK source="tasks" db=0.3ms idle=4.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [25, 22, ~U[2026-06-27 16:44:18Z], ~U[2026-06-27 16:44:18Z]] 18:44:18.519 [debug] Current batch of media processed. Will check again in 1000ms 18:44:19.521 [debug] Current batch of media processed. Will check again in 1000ms 18:44:20.521 [debug] Current batch of media processed. Will check again in 1000ms 18:44:20.925 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QrskyYE6ku8 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/28/a3/28a3ebd78f71513d4a8d6f4a0ff1c7b2340341e597ee058c98ea6362e880f70f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:44:20.945 [debug] Running yt-dlp command for action: download_thumbnail 18:44:20.947 [debug] QUERY OK source="settings" db=0.2ms idle=965.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.947 [debug] QUERY OK source="settings" db=0.1ms idle=965.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.948 [debug] QUERY OK source="settings" db=0.1ms idle=966.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.948 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QrskyYE6ku8 --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/1a/16/1a169b9912c341caba94d0e24f2716f38cca391654fb9498f94c19a5c6b03c75.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:44:21.522 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 221, "filename" => "/downloads/UnpragmaticCovers/2026-04-10 All Apologies - Nirvana but it's the OldSchool RuneScape soundfont/All Apologies - Nirvana but it's the OldSchool RuneScape soundfont [7iCMh55nMDs].mp4", "id" => "7iCMh55nMDs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7iCMh55nMDs", "playlist_index" => 23, "timestamp" => 1775829612, "title" => "All Apologies - Nirvana but it's the OldSchool RuneScape soundfont", "upload_date" => "20260410"} 18:44:21.523 [debug] QUERY OK source="sources" db=0.3ms idle=1541.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:44:21.524 [debug] QUERY OK source="sources" db=0.2ms idle=966.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:44:21.524 [debug] QUERY OK source="media_items" db=0.4ms idle=576.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-10 14:00:12Z], 1] 18:44:21.526 [debug] QUERY OK source="media_items" db=0.6ms idle=577.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "All Apologies - Nirvana but it's the OldSchool RuneScape soundfont", "e33a5897-f603-4eaf-a064-581ad698344c", "7iCMh55nMDs", false, "https://www.youtube.com/watch?v=7iCMh55nMDs", 1, [], 221, false, 23, "/downloads/UnpragmaticCovers/2026-04-10 All Apologies - Nirvana but it's the OldSchool RuneScape soundfont/All Apologies - Nirvana but it's the OldSchool RuneScape soundfont [7iCMh55nMDs].mp4", false, false, 99, ~U[2026-04-10 14:00:12Z], ~U[2026-06-27 16:44:21Z], ~U[2026-06-27 16:44:21Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "All Apologies - Nirvana but it's the OldSchool RuneScape soundfont", "7iCMh55nMDs", "https://www.youtube.com/watch?v=7iCMh55nMDs", 1, 221, false, "/downloads/UnpragmaticCovers/2026-04-10 All Apologies - Nirvana but it's the OldSchool RuneScape soundfont/All Apologies - Nirvana but it's the OldSchool RuneScape soundfont [7iCMh55nMDs].mp4", false, ~U[2026-04-10 14:00:12Z]] 18:44:21.527 [debug] QUERY OK source="sources" db=1.1ms idle=578.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:21.528 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.2ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:44:21.529 [debug] QUERY OK source="media_items" db=0.4ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [23] 18:44:21.529 [info] Kicking off download for media item #23 (7iCMh55nMDs) 18:44:21.531 [debug] QUERY OK source="tasks" db=0.2ms idle=3.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [26, 23, ~U[2026-06-27 16:44:21Z], ~U[2026-06-27 16:44:21Z]] 18:44:21.531 [debug] Current batch of media processed. Will check again in 1000ms 18:44:22.533 [debug] Current batch of media processed. Will check again in 1000ms 18:44:23.355 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u6KcXTb4tGQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/17/e2/17e2030aad407d0199798bc6253f2470374f36413fc2c2e287eff29986dab83c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:44:23.356 [debug] Running yt-dlp command for action: download 18:44:23.357 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=792.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:23.358 [debug] QUERY OK source="settings" db=0.3ms idle=372.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:23.358 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=372.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:44:23.360 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u6KcXTb4tGQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/34/f2/34f2d80961f51038e5622f2b4d9c0aa42e1620086ec66b55fb089588e4a53072.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:44:23.533 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 187, "filename" => "/downloads/UnpragmaticCovers/2026-04-07 Runaway - Linkin Park but it's the OldSchool RuneScape soundfont/Runaway - Linkin Park but it's the OldSchool RuneScape soundfont [DKbYifhewtA].mp4", "id" => "DKbYifhewtA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DKbYifhewtA", "playlist_index" => 24, "timestamp" => 1775570417, "title" => "Runaway - Linkin Park but it's the OldSchool RuneScape soundfont", "upload_date" => "20260407"} 18:44:23.534 [debug] QUERY OK source="sources" db=0.4ms idle=548.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:44:23.535 [debug] QUERY OK source="sources" db=0.5ms idle=548.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:44:23.536 [debug] QUERY OK source="media_items" db=0.4ms idle=178.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-07 14:00:17Z], 1] 18:44:23.537 [debug] QUERY OK source="media_items" db=0.6ms idle=178.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Runaway - Linkin Park but it's the OldSchool RuneScape soundfont", "9c851e06-e250-4a0f-90e0-06c9fd3b0cab", "DKbYifhewtA", false, "https://www.youtube.com/watch?v=DKbYifhewtA", 1, [], 187, false, 24, "/downloads/UnpragmaticCovers/2026-04-07 Runaway - Linkin Park but it's the OldSchool RuneScape soundfont/Runaway - Linkin Park but it's the OldSchool RuneScape soundfont [DKbYifhewtA].mp4", false, false, 99, ~U[2026-04-07 14:00:17Z], ~U[2026-06-27 16:44:23Z], ~U[2026-06-27 16:44:23Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Runaway - Linkin Park but it's the OldSchool RuneScape soundfont", "DKbYifhewtA", "https://www.youtube.com/watch?v=DKbYifhewtA", 1, 187, false, "/downloads/UnpragmaticCovers/2026-04-07 Runaway - Linkin Park but it's the OldSchool RuneScape soundfont/Runaway - Linkin Park but it's the OldSchool RuneScape soundfont [DKbYifhewtA].mp4", false, ~U[2026-04-07 14:00:17Z]] 18:44:23.537 [debug] QUERY OK source="sources" db=0.2ms idle=178.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:23.538 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:44:23.538 [debug] QUERY OK source="media_items" db=0.2ms idle=3.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24] 18:44:23.538 [info] Kicking off download for media item #24 (DKbYifhewtA) 18:44:23.540 [debug] QUERY OK source="tasks" db=0.1ms idle=2.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [27, 24, ~U[2026-06-27 16:44:23Z], ~U[2026-06-27 16:44:23Z]] 18:44:23.540 [debug] Current batch of media processed. Will check again in 1000ms 18:44:24.551 [debug] Current batch of media processed. Will check again in 1000ms 18:44:25.552 [debug] Current batch of media processed. Will check again in 1000ms 18:44:26.037 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QrskyYE6ku8 --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/1a/16/1a169b9912c341caba94d0e24f2716f38cca391654fb9498f94c19a5c6b03c75.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:44:26.038 [debug] QUERY OK db=0.2ms idle=1051.9ms begin [] 18:44:26.038 [debug] QUERY OK source="media_items" db=0.5ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/UnpragmaticCovers/2026-06-16 Paralyzer - Finger Eleven but it's the OldSchool RuneScape soundfont/Paralyzer - Finger Eleven but it's the OldSchool RuneScape soundfont [QrskyYE6ku8].mp4", "/downloads/UnpragmaticCovers/2026-06-16 Paralyzer - Finger Eleven but it's the OldSchool RuneScape soundfont/Paralyzer - Finger Eleven but it's the OldSchool RuneScape soundfont [QrskyYE6ku8]-thumb.jpg", ~U[2026-06-27 16:44:20Z], ~U[2026-06-27 16:44:26Z], 4] 18:44:26.039 [debug] QUERY OK source="media_metadata" db=0.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/4/metadata.json.gz", "/config/metadata/media_items/4/thumbnail.jpg", 4, ~U[2026-06-27 16:44:26Z], ~U[2026-06-27 16:44:26Z]] 18:44:26.039 [debug] QUERY OK db=0.1ms commit [] 18:44:26.041 [debug] QUERY OK source="media_items" db=1.1ms idle=1054.4ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [6832477, ~U[2026-06-27 16:44:26Z], 4] 18:44:26.041 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:44:26.042 [info] {"args":{"id":4},"id":7,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":30702090,"event":"job:stop","queue_time":53335688,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:44:26.048 [info] {"args":{"id":6},"id":9,"meta":{},"system_time":1782578666048657969,"max_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:44:26.049 [debug] QUERY OK source="media_items" db=0.3ms idle=477.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" = ?) [6] 18:44:26.049 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:44:26.051 [debug] QUERY OK source="sources" db=0.8ms idle=10.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:26.052 [debug] QUERY OK source="media_profiles" db=0.4ms idle=10.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:26.053 [debug] QUERY OK source="media_items" db=0.4ms idle=10.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6] 18:44:26.055 [debug] QUERY OK source="media_metadata" db=0.1ms idle=6.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [6] 18:44:26.056 [debug] QUERY OK source="media_profiles" db=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] 18:44:26.057 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=5.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:44:26.057 [debug] QUERY OK source="settings" db=0.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 [] 18:44:26.058 [debug] Running yt-dlp command for action: get_downloadable_status 18:44:26.059 [debug] QUERY OK source="settings" db=0.2ms 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 [] 18:44:26.059 [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 [] 18:44:26.060 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:44:26.060 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXL7kx_lsX0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/64/8c/648ca28bb0ba8588d93f26deee5c223902e3227b85bfd128e4785f7ff0d3b797.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:44:26.553 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 148, "filename" => "/downloads/UnpragmaticCovers/2026-04-05 Them Bones - Alice In Chains but it's the OldSchool RuneScape soundfont/Them Bones - Alice In Chains but it's the OldSchool RuneScape soundfont [94Oya35N2Qc].mp4", "id" => "94Oya35N2Qc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=94Oya35N2Qc", "playlist_index" => 25, "timestamp" => 1775397623, "title" => "Them Bones - Alice In Chains but it's the OldSchool RuneScape soundfont", "upload_date" => "20260405"} 18:44:26.554 [debug] QUERY OK source="sources" db=0.3ms idle=497.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:44:26.555 [debug] QUERY OK source="sources" db=0.2ms idle=497.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:26.555 [debug] QUERY OK source="media_items" db=0.2ms idle=495.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-05 14:00:23Z], 1] 18:44:26.560 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=496.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Them Bones - Alice In Chains but it's the OldSchool RuneScape soundfont", "aec3e5c1-6613-4e21-a8d9-fc7ff38eec9c", "94Oya35N2Qc", false, "https://www.youtube.com/watch?v=94Oya35N2Qc", 1, [], 148, false, 25, "/downloads/UnpragmaticCovers/2026-04-05 Them Bones - Alice In Chains but it's the OldSchool RuneScape soundfont/Them Bones - Alice In Chains but it's the OldSchool RuneScape soundfont [94Oya35N2Qc].mp4", false, false, 99, ~U[2026-04-05 14:00:23Z], ~U[2026-06-27 16:44:26Z], ~U[2026-06-27 16:44:26Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Them Bones - Alice In Chains but it's the OldSchool RuneScape soundfont", "94Oya35N2Qc", "https://www.youtube.com/watch?v=94Oya35N2Qc", 1, 148, false, "/downloads/UnpragmaticCovers/2026-04-05 Them Bones - Alice In Chains but it's the OldSchool RuneScape soundfont/Them Bones - Alice In Chains but it's the OldSchool RuneScape soundfont [94Oya35N2Qc].mp4", false, ~U[2026-04-05 14:00:23Z]] 18:44:26.561 [debug] QUERY OK source="sources" db=0.3ms idle=500.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:26.562 [debug] QUERY OK source="media_profiles" db=0.9ms idle=6.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:44:26.565 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [25] 18:44:26.565 [info] Kicking off download for media item #25 (94Oya35N2Qc) 18:44:26.574 [debug] QUERY OK source="tasks" db=2.9ms queue=0.1ms idle=9.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [28, 25, ~U[2026-06-27 16:44:26Z], ~U[2026-06-27 16:44:26Z]] 18:44:26.574 [debug] Current batch of media processed. Will check again in 1000ms 18:44:27.575 [debug] Current batch of media processed. Will check again in 1000ms 18:44:28.575 [debug] Current batch of media processed. Will check again in 1000ms 18:44:29.303 [info] GET /settings 18:44:29.304 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 18:44:29.305 [debug] QUERY OK source="settings" db=0.3ms idle=1319.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:29.306 [debug] QUERY OK source="settings" db=0.1ms idle=1320.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:29.307 [debug] QUERY OK source="settings" db=0.2ms idle=1321.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:29.307 [debug] QUERY OK source="settings" db=0.2ms idle=1321.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:29.311 [info] Sent 200 in 7ms 18:44:29.392 [info] CONNECTED TO Phoenix.LiveView.Socket in 32µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "FlIsUEE1LxAqPwoBC2E5ATY-UT8iIyZZu1hf6pBQcIZoRSrIwg6FGja8", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:44:29.401 [debug] MOUNT Pinchflat.Settings.AppriseServerLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "value" => nil} 18:44:29.401 [debug] Replied in 146µs 18:44:29.406 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:44:29.406 [debug] Replied in 133µs 18:44:29.576 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "While I absolutely adore interpreting songs I love into the iconic RuneScape style, my passion will always lie with composing original music. With Royal Titans not having a boss theme on release, the idea of writing a song with a juxtaposition between fire and ice has always been super enticing, and I was finally able to dedicate some time to it. \n\nI am kicking myself for not doing this sooner! It was an absolute blast to apply everything I've learned throughout this channel's history to my own composition and it's emphasized how great these soundfont covers have been for my own musicianship, even if they are just covers. \n\nThanks so much to everyone for the support on our cover songs. This is now the first time I get to share an original song with a thousands of people, and that's very exciting to me.\n\n-Sam\n\nArtwork credit to Jagex", "duration" => 282, "filename" => "/downloads/UnpragmaticCovers/2026-04-03 Eldric and Branda (Original OldSchool RuneScape Soundfont Song)/Eldric and Branda (Original OldSchool RuneScape Soundfont Song) [s0fmhy5qU10].mp4", "id" => "s0fmhy5qU10", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=s0fmhy5qU10", "playlist_index" => 26, "timestamp" => 1775224800, "title" => "Eldric and Branda (Original OldSchool RuneScape Soundfont Song)", "upload_date" => "20260403"} 18:44:29.577 [debug] QUERY OK source="sources" db=0.3ms idle=993.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:44:29.578 [debug] QUERY OK source="sources" db=0.4ms idle=272.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:44:29.578 [debug] QUERY OK source="media_items" db=0.3ms idle=272.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-03 14:00:00Z], 1] 18:44:29.580 [debug] QUERY OK source="media_items" db=1.0ms idle=271.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["While I absolutely adore interpreting songs I love into the iconic RuneScape style, my passion will always lie with composing original music. With Royal Titans not having a boss theme on release, the idea of writing a song with a juxtaposition between fire and ice has always been super enticing, and I was finally able to dedicate some time to it. \n\nI am kicking myself for not doing this sooner! It was an absolute blast to apply everything I've learned throughout this channel's history to my own composition and it's emphasized how great these soundfont covers have been for my own musicianship, even if they are just covers. \n\nThanks so much to everyone for the support on our cover songs. This is now the first time I get to share an original song with a thousands of people, and that's very exciting to me.\n\n-Sam\n\nArtwork credit to Jagex", "Eldric and Branda (Original OldSchool RuneScape Soundfont Song)", "d287248c-c401-4a72-ae84-2f1d70443a93", "s0fmhy5qU10", false, "https://www.youtube.com/watch?v=s0fmhy5qU10", 1, [], 282, false, 26, "/downloads/UnpragmaticCovers/2026-04-03 Eldric and Branda (Original OldSchool RuneScape Soundfont Song)/Eldric and Branda (Original OldSchool RuneScape Soundfont Song) [s0fmhy5qU10].mp4", false, false, 99, ~U[2026-04-03 14:00:00Z], ~U[2026-06-27 16:44:29Z], ~U[2026-06-27 16:44:29Z], "While I absolutely adore interpreting songs I love into the iconic RuneScape style, my passion will always lie with composing original music. With Royal Titans not having a boss theme on release, the idea of writing a song with a juxtaposition between fire and ice has always been super enticing, and I was finally able to dedicate some time to it. \n\nI am kicking myself for not doing this sooner! It was an absolute blast to apply everything I've learned throughout this channel's history to my own composition and it's emphasized how great these soundfont covers have been for my own musicianship, even if they are just covers. \n\nThanks so much to everyone for the support on our cover songs. This is now the first time I get to share an original song with a thousands of people, and that's very exciting to me.\n\n-Sam\n\nArtwork credit to Jagex", "Eldric and Branda (Original OldSchool RuneScape Soundfont Song)", "s0fmhy5qU10", "https://www.youtube.com/watch?v=s0fmhy5qU10", 1, 282, false, "/downloads/UnpragmaticCovers/2026-04-03 Eldric and Branda (Original OldSchool RuneScape Soundfont Song)/Eldric and Branda (Original OldSchool RuneScape Soundfont Song) [s0fmhy5qU10].mp4", false, ~U[2026-04-03 14:00:00Z]] 18:44:29.580 [debug] QUERY OK source="sources" db=0.2ms idle=272.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:29.581 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:44:29.581 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [26] 18:44:29.582 [info] Kicking off download for media item #26 (s0fmhy5qU10) 18:44:29.584 [debug] QUERY OK source="tasks" db=0.2ms idle=2.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [29, 26, ~U[2026-06-27 16:44:29Z], ~U[2026-06-27 16:44:29Z]] 18:44:29.584 [debug] Current batch of media processed. Will check again in 1000ms 18:44:30.509 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXL7kx_lsX0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/64/8c/648ca28bb0ba8588d93f26deee5c223902e3227b85bfd128e4785f7ff0d3b797.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:44:30.509 [debug] Running yt-dlp command for action: download 18:44:30.510 [debug] QUERY OK source="settings" db=0.2ms idle=928.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:30.510 [debug] QUERY OK source="settings" db=0.2ms idle=927.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:30.511 [debug] QUERY OK source="settings" db=0.3ms idle=927.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:30.511 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXL7kx_lsX0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/60/7e/607e282dab10f11c1159533d3db4c006b9b59deacd04e3af0178455cfe6698e4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:44:30.584 [debug] Current batch of media processed. Will check again in 1000ms 18:44:31.585 [debug] Current batch of media processed. Will check again in 1000ms 18:44:32.238 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u6KcXTb4tGQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/34/f2/34f2d80961f51038e5622f2b4d9c0aa42e1620086ec66b55fb089588e4a53072.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:44:32.262 [debug] Running yt-dlp command for action: download_thumbnail 18:44:32.264 [debug] QUERY OK source="settings" db=0.1ms idle=1276.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:32.264 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=664.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:32.265 [debug] QUERY OK source="settings" db=0.2ms idle=278.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:32.265 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u6KcXTb4tGQ --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/16/e2/16e2b9be2d2ac92067f064f2033fe12b18e9411e6b879e1fba07cd5d2f105a11.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:44:32.586 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "R.I.P. Sophie \n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 222, "filename" => "/downloads/UnpragmaticCovers/2026-03-31 It's Okay to Cry - Sophie but it's the OldSchool RuneScape soundfont/It's Okay to Cry - Sophie but it's the OldSchool RuneScape soundfont [8F_xwRVay2k].mp4", "id" => "8F_xwRVay2k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8F_xwRVay2k", "playlist_index" => 27, "timestamp" => 1774965600, "title" => "It's Okay to Cry - Sophie but it's the OldSchool RuneScape soundfont", "upload_date" => "20260331"} 18:44:32.587 [debug] QUERY OK source="sources" db=0.5ms idle=600.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:44:32.588 [debug] QUERY OK source="sources" db=0.6ms idle=600.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:44:32.589 [debug] QUERY OK source="media_items" db=0.2ms idle=324.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-31 14:00:00Z], 1] 18:44:32.590 [debug] QUERY OK source="media_items" db=0.5ms idle=324.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["R.I.P. Sophie \n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "It's Okay to Cry - Sophie but it's the OldSchool RuneScape soundfont", "5f91fe96-ebf2-49b6-9de4-9ece5cf73cee", "8F_xwRVay2k", false, "https://www.youtube.com/watch?v=8F_xwRVay2k", 1, [], 222, false, 27, "/downloads/UnpragmaticCovers/2026-03-31 It's Okay to Cry - Sophie but it's the OldSchool RuneScape soundfont/It's Okay to Cry - Sophie but it's the OldSchool RuneScape soundfont [8F_xwRVay2k].mp4", false, false, 99, ~U[2026-03-31 14:00:00Z], ~U[2026-06-27 16:44:32Z], ~U[2026-06-27 16:44:32Z], "R.I.P. Sophie \n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "It's Okay to Cry - Sophie but it's the OldSchool RuneScape soundfont", "8F_xwRVay2k", "https://www.youtube.com/watch?v=8F_xwRVay2k", 1, 222, false, "/downloads/UnpragmaticCovers/2026-03-31 It's Okay to Cry - Sophie but it's the OldSchool RuneScape soundfont/It's Okay to Cry - Sophie but it's the OldSchool RuneScape soundfont [8F_xwRVay2k].mp4", false, ~U[2026-03-31 14:00:00Z]] 18:44:32.590 [debug] QUERY OK source="sources" db=0.2ms idle=324.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:32.591 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.3ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:44:32.592 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [27] 18:44:32.592 [info] Kicking off download for media item #27 (8F_xwRVay2k) 18:44:32.593 [debug] QUERY OK source="tasks" db=0.1ms idle=2.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [30, 27, ~U[2026-06-27 16:44:32Z], ~U[2026-06-27 16:44:32Z]] 18:44:32.593 [debug] Current batch of media processed. Will check again in 1000ms 18:44:33.594 [debug] Current batch of media processed. Will check again in 1000ms 18:44:34.080 [info] GET / 18:44:34.080 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 18:44:34.081 [debug] QUERY OK source="settings" db=0.1ms 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 [] 18:44:34.081 [debug] QUERY OK source="media_profiles" db=0.0ms idle=94.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 18:44:34.081 [debug] QUERY OK source="sources" db=0.0ms idle=94.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 18:44:34.082 [debug] QUERY OK source="media_items" db=0.1ms idle=95.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:44:34.082 [debug] QUERY OK source="media_items" db=0.1ms idle=95.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:44:34.083 [debug] QUERY OK source="settings" db=0.4ms 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 [] 18:44:34.083 [debug] QUERY OK source="settings" db=0.2ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:44:34.083 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:44:34.089 [debug] QUERY OK source="tasks" db=0.3ms idle=7.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"] 18:44:34.090 [debug] QUERY OK source="media_items" db=0.2ms idle=7.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [5, 6] 18:44:34.090 [debug] QUERY OK source="sources" db=0.4ms idle=7.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:34.092 [debug] QUERY OK source="media_items" db=0.3ms idle=8.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)) [] 18:44:34.092 [debug] QUERY OK source="media_items" db=0.4ms idle=8.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:44:34.093 [debug] QUERY OK source="sources" db=0.3ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:34.095 [debug] QUERY OK source="media_items" db=0.3ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 18:44:34.096 [debug] QUERY OK source="media_items" db=0.6ms queue=0.3ms idle=5.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:44:34.097 [debug] QUERY OK source="sources" db=0.4ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:34.099 [info] Sent 200 in 18ms 18:44:34.160 [info] CONNECTED TO Phoenix.LiveView.Socket in 30µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "UQsXQwJ8HjUtGh0LLn8JOysIX0hUDXYJ2hSuu9stdlMewMBsjQ811D1h", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:44:34.166 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "media_state" => "downloaded"} 18:44:34.166 [debug] QUERY OK source="media_items" db=0.2ms idle=73.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)) [] 18:44:34.167 [debug] QUERY OK source="media_items" db=0.4ms idle=73.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] 18:44:34.168 [debug] QUERY OK source="sources" db=0.3ms 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] 18:44:34.168 [debug] Replied in 1ms 18:44:34.170 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "media_state" => "pending"} 18:44:34.171 [debug] QUERY OK source="media_items" db=0.8ms idle=73.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"))) [] 18:44:34.172 [debug] QUERY OK source="media_items" db=0.8ms idle=74.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:44:34.173 [debug] QUERY OK source="sources" db=0.4ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:34.173 [debug] Replied in 3ms 18:44:34.175 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:44:34.176 [debug] QUERY OK source="tasks" db=0.4ms idle=8.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 18:44:34.177 [debug] QUERY OK source="sources" db=0.2ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:34.178 [debug] QUERY OK source="media_items" db=1.4ms idle=8.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [5, 6] 18:44:34.178 [debug] Replied in 2ms 18:44:34.180 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:44:34.180 [debug] Replied in 95µs 18:44:34.595 [debug] Current batch of media processed. Will check again in 1000ms 18:44:35.596 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Unholy Blessings\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 285, "filename" => "/downloads/UnpragmaticCovers/2026-03-27 Unholy Confessions - Avenged Sevenfold but it's the OldSchool RuneScape soundfont/Unholy Confessions - Avenged Sevenfold but it's the OldSchool RuneScape soundfont [IgVSJWuWFiw].mp4", "id" => "IgVSJWuWFiw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=IgVSJWuWFiw", "playlist_index" => 28, "timestamp" => 1774620000, "title" => "Unholy Confessions - Avenged Sevenfold but it's the OldSchool RuneScape soundfont", "upload_date" => "20260327"} 18:44:35.598 [debug] QUERY OK source="sources" db=0.8ms idle=1423.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:44:35.599 [debug] QUERY OK source="sources" db=1.1ms idle=1421.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:44:35.600 [debug] QUERY OK source="media_items" db=0.6ms idle=1422.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-27 14:00:00Z], 1] 18:44:35.602 [debug] QUERY OK source="media_items" db=1.0ms idle=1422.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Unholy Blessings\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Unholy Confessions - Avenged Sevenfold but it's the OldSchool RuneScape soundfont", "3af4890e-7b8c-4e03-899f-4c1ed536e5cc", "IgVSJWuWFiw", false, "https://www.youtube.com/watch?v=IgVSJWuWFiw", 1, [], 285, false, 28, "/downloads/UnpragmaticCovers/2026-03-27 Unholy Confessions - Avenged Sevenfold but it's the OldSchool RuneScape soundfont/Unholy Confessions - Avenged Sevenfold but it's the OldSchool RuneScape soundfont [IgVSJWuWFiw].mp4", false, false, 99, ~U[2026-03-27 14:00:00Z], ~U[2026-06-27 16:44:35Z], ~U[2026-06-27 16:44:35Z], "Unholy Blessings\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Unholy Confessions - Avenged Sevenfold but it's the OldSchool RuneScape soundfont", "IgVSJWuWFiw", "https://www.youtube.com/watch?v=IgVSJWuWFiw", 1, 285, false, "/downloads/UnpragmaticCovers/2026-03-27 Unholy Confessions - Avenged Sevenfold but it's the OldSchool RuneScape soundfont/Unholy Confessions - Avenged Sevenfold but it's the OldSchool RuneScape soundfont [IgVSJWuWFiw].mp4", false, ~U[2026-03-27 14:00:00Z]] 18:44:35.603 [debug] QUERY OK source="sources" db=0.7ms idle=998.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:35.605 [debug] QUERY OK source="media_profiles" db=1.8ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:44:35.606 [debug] QUERY OK source="media_items" db=1.1ms idle=5.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [28] 18:44:35.606 [info] Kicking off download for media item #28 (IgVSJWuWFiw) 18:44:35.609 [debug] QUERY OK source="tasks" db=0.3ms idle=4.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [31, 28, ~U[2026-06-27 16:44:35Z], ~U[2026-06-27 16:44:35Z]] 18:44:35.609 [debug] Current batch of media processed. Will check again in 1000ms 18:44:36.611 [debug] Current batch of media processed. Will check again in 1000ms 18:44:36.666 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=u6KcXTb4tGQ --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/16/e2/16e2b9be2d2ac92067f064f2033fe12b18e9411e6b879e1fba07cd5d2f105a11.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:44:36.670 [debug] QUERY OK db=3.1ms idle=1058.8ms begin [] 18:44:36.671 [debug] QUERY OK source="media_items" db=0.4ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/UnpragmaticCovers/2026-06-12 Levels - Avicii but it's the OldSchool RuneScape soundfont/Levels - Avicii but it's the OldSchool RuneScape soundfont [u6KcXTb4tGQ].mp4", "/downloads/UnpragmaticCovers/2026-06-12 Levels - Avicii but it's the OldSchool RuneScape soundfont/Levels - Avicii but it's the OldSchool RuneScape soundfont [u6KcXTb4tGQ]-thumb.jpg", ~U[2026-06-27 16:44:32Z], ~U[2026-06-27 16:44:36Z], 5] 18:44:36.671 [debug] QUERY OK source="media_metadata" db=0.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/5/metadata.json.gz", "/config/metadata/media_items/5/thumbnail.jpg", 5, ~U[2026-06-27 16:44:36Z], ~U[2026-06-27 16:44:36Z]] 18:44:36.672 [debug] QUERY OK db=0.1ms commit [] 18:44:36.672 [debug] QUERY OK source="media_items" db=0.3ms idle=1063.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [4951786, ~U[2026-06-27 16:44:36Z], 5] 18:44:36.672 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:44:36.674 [info] {"args":{"id":5},"id":8,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":28438531,"event":"job:stop","queue_time":64233649,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:44:36.675 [debug] QUERY OK source="tasks" db=0.5ms idle=1065.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"] 18:44:36.676 [debug] QUERY OK source="media_items" db=0.6ms idle=62.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" = ?) [6] 18:44:36.676 [debug] QUERY OK source="sources" db=0.8ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:36.682 [info] {"args":{"id":7},"id":10,"meta":{},"system_time":1782578676681837149,"max_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:44:36.682 [debug] QUERY OK source="media_items" db=0.6ms idle=7.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [7] 18:44:36.683 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=6.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 18:44:36.683 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:44:36.684 [debug] QUERY OK source="sources" db=0.3ms idle=7.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:36.684 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=6.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 (?,?)) [6, 7] 18:44:36.685 [debug] QUERY OK source="sources" db=1.2ms idle=2.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:36.685 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.4ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:44:36.686 [debug] QUERY OK source="media_items" db=0.4ms idle=2.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [7] 18:44:36.689 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [7] 18:44:36.690 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 18:44:36.691 [debug] QUERY OK source="settings" db=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 [] 18:44:36.691 [debug] QUERY OK source="settings" db=0.4ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:44:36.692 [debug] Running yt-dlp command for action: get_downloadable_status 18:44:36.694 [debug] QUERY OK source="settings" db=0.4ms 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 [] 18:44:36.694 [debug] QUERY OK source="settings" db=0.1ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:44:36.694 [debug] QUERY OK source="settings" db=0.2ms 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 [] 18:44:36.694 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zvE4aQpkefE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/39/5c/395c7cf9dc4ab712098a817d15bdce1a224946372e2b2bf0de03555c1f1d91be.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:44:37.614 [debug] Current batch of media processed. Will check again in 1000ms 18:44:38.615 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 191, "filename" => "/downloads/UnpragmaticCovers/2026-03-24 bury a friend - Billie Eilish but it's the OldSchool RuneScape soundfont/bury a friend - Billie Eilish but it's the OldSchool RuneScape soundfont [xEUQRPkPLJQ].mp4", "id" => "xEUQRPkPLJQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xEUQRPkPLJQ", "playlist_index" => 29, "timestamp" => 1774360886, "title" => "bury a friend - Billie Eilish but it's the OldSchool RuneScape soundfont", "upload_date" => "20260324"} 18:44:38.617 [debug] QUERY OK source="sources" db=0.7ms 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] 18:44:38.617 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [1] 18:44:38.618 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=628.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-24 14:01:26Z], 1] 18:44:38.620 [debug] QUERY OK source="media_items" db=1.1ms idle=629.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "bury a friend - Billie Eilish but it's the OldSchool RuneScape soundfont", "ee39243b-2f50-4b41-b742-d2ba74263286", "xEUQRPkPLJQ", false, "https://www.youtube.com/watch?v=xEUQRPkPLJQ", 1, [], 191, false, 29, "/downloads/UnpragmaticCovers/2026-03-24 bury a friend - Billie Eilish but it's the OldSchool RuneScape soundfont/bury a friend - Billie Eilish but it's the OldSchool RuneScape soundfont [xEUQRPkPLJQ].mp4", false, false, 99, ~U[2026-03-24 14:01:26Z], ~U[2026-06-27 16:44:38Z], ~U[2026-06-27 16:44:38Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "bury a friend - Billie Eilish but it's the OldSchool RuneScape soundfont", "xEUQRPkPLJQ", "https://www.youtube.com/watch?v=xEUQRPkPLJQ", 1, 191, false, "/downloads/UnpragmaticCovers/2026-03-24 bury a friend - Billie Eilish but it's the OldSchool RuneScape soundfont/bury a friend - Billie Eilish but it's the OldSchool RuneScape soundfont [xEUQRPkPLJQ].mp4", false, ~U[2026-03-24 14:01:26Z]] 18:44:38.621 [debug] QUERY OK source="sources" db=0.5ms idle=630.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:38.623 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.1ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:44:38.625 [debug] QUERY OK source="media_items" db=0.9ms idle=5.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [29] 18:44:38.625 [info] Kicking off download for media item #29 (xEUQRPkPLJQ) 18:44:38.628 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=4.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [32, 29, ~U[2026-06-27 16:44:38Z], ~U[2026-06-27 16:44:38Z]] 18:44:38.628 [debug] Current batch of media processed. Will check again in 1000ms 18:44:39.629 [debug] Current batch of media processed. Will check again in 1000ms 18:44:40.631 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 175, "filename" => "/downloads/UnpragmaticCovers/2026-03-20 ATWA - System of a Down but it's the OldSchool RuneScape soundfont/ATWA - System of a Down but it's the OldSchool RuneScape soundfont [jum5XWyqKzc].mp4", "id" => "jum5XWyqKzc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jum5XWyqKzc", "playlist_index" => 30, "timestamp" => 1774015277, "title" => "ATWA - System of a Down but it's the OldSchool RuneScape soundfont", "upload_date" => "20260320"} 18:44:40.633 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=638.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:44:40.636 [debug] QUERY OK source="sources" db=2.2ms idle=640.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:40.639 [debug] QUERY OK source="media_items" db=0.5ms queue=1.6ms idle=644.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-20 14:01:17Z], 1] 18:44:40.643 [debug] QUERY OK source="media_items" db=3.3ms idle=646.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "ATWA - System of a Down but it's the OldSchool RuneScape soundfont", "6c37f849-f87c-4b16-97bb-2f4d3f1f2208", "jum5XWyqKzc", false, "https://www.youtube.com/watch?v=jum5XWyqKzc", 1, [], 175, false, 30, "/downloads/UnpragmaticCovers/2026-03-20 ATWA - System of a Down but it's the OldSchool RuneScape soundfont/ATWA - System of a Down but it's the OldSchool RuneScape soundfont [jum5XWyqKzc].mp4", false, false, 99, ~U[2026-03-20 14:01:17Z], ~U[2026-06-27 16:44:40Z], ~U[2026-06-27 16:44:40Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "ATWA - System of a Down but it's the OldSchool RuneScape soundfont", "jum5XWyqKzc", "https://www.youtube.com/watch?v=jum5XWyqKzc", 1, 175, false, "/downloads/UnpragmaticCovers/2026-03-20 ATWA - System of a Down but it's the OldSchool RuneScape soundfont/ATWA - System of a Down but it's the OldSchool RuneScape soundfont [jum5XWyqKzc].mp4", false, ~U[2026-03-20 14:01:17Z]] 18:44:40.644 [debug] QUERY OK source="sources" db=1.0ms idle=10.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:40.647 [debug] QUERY OK source="media_profiles" db=2.6ms queue=0.1ms idle=8.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:44:40.649 [debug] QUERY OK source="media_items" db=0.9ms queue=0.6ms idle=9.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [30] 18:44:40.649 [info] Kicking off download for media item #30 (jum5XWyqKzc) 18:44:40.654 [debug] QUERY OK source="tasks" db=0.2ms idle=9.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [33, 30, ~U[2026-06-27 16:44:40Z], ~U[2026-06-27 16:44:40Z]] 18:44:40.654 [debug] Current batch of media processed. Will check again in 1000ms 18:44:41.352 [debug] HANDLE EVENT "reload_page" in Pinchflat.Pages.HistoryTableLive Parameters: %{"value" => ""} 18:44:41.354 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=704.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)) [] 18:44:41.357 [debug] QUERY OK source="media_items" db=1.0ms queue=0.9ms idle=705.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] 18:44:41.362 [debug] QUERY OK source="sources" db=2.1ms queue=1.5ms idle=706.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:41.366 [debug] Replied in 14ms 18:44:41.655 [debug] Current batch of media processed. Will check again in 1000ms 18:44:42.330 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zvE4aQpkefE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/39/5c/395c7cf9dc4ab712098a817d15bdce1a224946372e2b2bf0de03555c1f1d91be.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:44:42.331 [debug] Running yt-dlp command for action: download 18:44:42.332 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=977.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.332 [debug] QUERY OK source="settings" db=0.2ms idle=975.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.333 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=970.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.334 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zvE4aQpkefE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/35/62/356275e35d79997f928dc236f90f8adb987a9be0798c76265b6dcda73b6f662f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:44:42.664 [debug] Current batch of media processed. Will check again in 1000ms 18:44:43.664 [debug] Current batch of media processed. Will check again in 1000ms 18:44:44.665 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Happy St. Patricks Day!\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 152, "filename" => "/downloads/UnpragmaticCovers/2026-03-17 I'm Shipping Up to Boston - Dropkick Murphys but it's the OldSchool RuneScape soundfont/I'm Shipping Up to Boston - Dropkick Murphys but it's the OldSchool RuneScape soundfont [_IsV3r4RVbY].mp4", "id" => "_IsV3r4RVbY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_IsV3r4RVbY", "playlist_index" => 31, "timestamp" => 1773756062, "title" => "I'm Shipping Up to Boston - Dropkick Murphys but it's the OldSchool RuneScape soundfont", "upload_date" => "20260317"} 18:44:44.666 [debug] QUERY OK source="sources" db=0.6ms idle=673.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:44:44.668 [debug] QUERY OK source="sources" db=0.8ms idle=674.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:44.669 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=675.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-17 14:01:02Z], 1] 18:44:44.671 [debug] QUERY OK source="media_items" db=1.8ms idle=676.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Happy St. Patricks Day!\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "I'm Shipping Up to Boston - Dropkick Murphys but it's the OldSchool RuneScape soundfont", "62990bb4-8d01-4694-9028-2df261faed66", "_IsV3r4RVbY", false, "https://www.youtube.com/watch?v=_IsV3r4RVbY", 1, [], 152, false, 31, "/downloads/UnpragmaticCovers/2026-03-17 I'm Shipping Up to Boston - Dropkick Murphys but it's the OldSchool RuneScape soundfont/I'm Shipping Up to Boston - Dropkick Murphys but it's the OldSchool RuneScape soundfont [_IsV3r4RVbY].mp4", false, false, 99, ~U[2026-03-17 14:01:02Z], ~U[2026-06-27 16:44:44Z], ~U[2026-06-27 16:44:44Z], "Happy St. Patricks Day!\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "I'm Shipping Up to Boston - Dropkick Murphys but it's the OldSchool RuneScape soundfont", "_IsV3r4RVbY", "https://www.youtube.com/watch?v=_IsV3r4RVbY", 1, 152, false, "/downloads/UnpragmaticCovers/2026-03-17 I'm Shipping Up to Boston - Dropkick Murphys but it's the OldSchool RuneScape soundfont/I'm Shipping Up to Boston - Dropkick Murphys but it's the OldSchool RuneScape soundfont [_IsV3r4RVbY].mp4", false, ~U[2026-03-17 14:01:02Z]] 18:44:44.672 [debug] QUERY OK source="sources" db=0.4ms 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] 18:44:44.673 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.3ms idle=5.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:44:44.674 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=5.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [31] 18:44:44.674 [info] Kicking off download for media item #31 (_IsV3r4RVbY) 18:44:44.678 [debug] QUERY OK source="tasks" db=0.5ms idle=5.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [34, 31, ~U[2026-06-27 16:44:44Z], ~U[2026-06-27 16:44:44Z]] 18:44:44.678 [debug] Current batch of media processed. Will check again in 1000ms 18:44:45.679 [debug] Current batch of media processed. Will check again in 1000ms 18:44:46.680 [debug] Current batch of media processed. Will check again in 1000ms 18:44:47.570 [info] {"source":"oban","duration":2439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:47.681 [debug] Current batch of media processed. Will check again in 1000ms 18:44:47.878 [debug] HANDLE EVENT "reload_page" in Pinchflat.Pages.HistoryTableLive Parameters: %{"value" => ""} 18:44:47.879 [debug] QUERY OK source="media_items" db=1.2ms idle=1885.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 18:44:47.882 [debug] QUERY OK source="media_items" db=1.7ms idle=1887.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] 18:44:47.883 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1225.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:47.883 [debug] Replied in 5ms 18:44:48.682 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "What's cooler than being cool?\nIce burst!\n\nArtwork credit to Lilly and Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 233, "filename" => "/downloads/UnpragmaticCovers/2026-03-13 Hey Ya! - OutKast but it's the OldSchool RuneScape soundfont/Hey Ya! - OutKast but it's the OldSchool RuneScape soundfont [g0bj1-QECmM].mp4", "id" => "g0bj1-QECmM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=g0bj1-QECmM", "playlist_index" => 32, "timestamp" => 1773410471, "title" => "Hey Ya! - OutKast but it's the OldSchool RuneScape soundfont", "upload_date" => "20260313"} 18:44:48.683 [debug] QUERY OK source="sources" db=0.2ms idle=1017.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:44:48.685 [debug] QUERY OK source="sources" db=1.2ms idle=804.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:44:48.686 [debug] QUERY OK source="media_items" db=1.0ms idle=803.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-13 14:01:11Z], 1] 18:44:48.706 [debug] QUERY OK source="media_items" db=18.1ms idle=805.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["What's cooler than being cool?\nIce burst!\n\nArtwork credit to Lilly and Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Hey Ya! - OutKast but it's the OldSchool RuneScape soundfont", "ebcd8276-b429-4e9c-8818-bf5a306979dd", "g0bj1-QECmM", false, "https://www.youtube.com/watch?v=g0bj1-QECmM", 1, [], 233, false, 32, "/downloads/UnpragmaticCovers/2026-03-13 Hey Ya! - OutKast but it's the OldSchool RuneScape soundfont/Hey Ya! - OutKast but it's the OldSchool RuneScape soundfont [g0bj1-QECmM].mp4", false, false, 99, ~U[2026-03-13 14:01:11Z], ~U[2026-06-27 16:44:48Z], ~U[2026-06-27 16:44:48Z], "What's cooler than being cool?\nIce burst!\n\nArtwork credit to Lilly and Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Hey Ya! - OutKast but it's the OldSchool RuneScape soundfont", "g0bj1-QECmM", "https://www.youtube.com/watch?v=g0bj1-QECmM", 1, 233, false, "/downloads/UnpragmaticCovers/2026-03-13 Hey Ya! - OutKast but it's the OldSchool RuneScape soundfont/Hey Ya! - OutKast but it's the OldSchool RuneScape soundfont [g0bj1-QECmM].mp4", false, ~U[2026-03-13 14:01:11Z]] 18:44:48.707 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=39.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:48.708 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.3ms 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] 18:44:48.709 [debug] QUERY OK source="media_items" db=0.4ms idle=23.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [32] 18:44:48.709 [info] Kicking off download for media item #32 (g0bj1-QECmM) 18:44:48.713 [debug] QUERY OK source="tasks" db=1.0ms idle=5.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [35, 32, ~U[2026-06-27 16:44:48Z], ~U[2026-06-27 16:44:48Z]] 18:44:48.713 [debug] Current batch of media processed. Will check again in 1000ms 18:44:49.714 [debug] Current batch of media processed. Will check again in 1000ms 18:44:50.715 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "My love is a skull-tricker\n\nArtwork credit to Sam and Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 254, "filename" => "/downloads/UnpragmaticCovers/2026-03-10 Say It Ain't So - Weezer but it's the OldSchool RuneScape soundfont/Say It Ain't So - Weezer but it's the OldSchool RuneScape soundfont [ZJQpyKj7r-0].mp4", "id" => "ZJQpyKj7r-0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZJQpyKj7r-0", "playlist_index" => 33, "timestamp" => 1773151262, "title" => "Say It Ain't So - Weezer but it's the OldSchool RuneScape soundfont", "upload_date" => "20260310"} 18:44:50.716 [debug] QUERY OK source="sources" db=0.3ms idle=723.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:44:50.717 [debug] QUERY OK source="sources" db=0.2ms idle=724.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:44:50.717 [debug] QUERY OK source="media_items" db=0.4ms queue=0.2ms idle=724.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-10 14:01:02Z], 1] 18:44:50.751 [debug] QUERY OK source="media_items" db=33.2ms idle=725.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["My love is a skull-tricker\n\nArtwork credit to Sam and Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Say It Ain't So - Weezer but it's the OldSchool RuneScape soundfont", "972c0d23-87e0-41b9-89ad-00aca66c1439", "ZJQpyKj7r-0", false, "https://www.youtube.com/watch?v=ZJQpyKj7r-0", 1, [], 254, false, 33, "/downloads/UnpragmaticCovers/2026-03-10 Say It Ain't So - Weezer but it's the OldSchool RuneScape soundfont/Say It Ain't So - Weezer but it's the OldSchool RuneScape soundfont [ZJQpyKj7r-0].mp4", false, false, 99, ~U[2026-03-10 14:01:02Z], ~U[2026-06-27 16:44:50Z], ~U[2026-06-27 16:44:50Z], "My love is a skull-tricker\n\nArtwork credit to Sam and Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Say It Ain't So - Weezer but it's the OldSchool RuneScape soundfont", "ZJQpyKj7r-0", "https://www.youtube.com/watch?v=ZJQpyKj7r-0", 1, 254, false, "/downloads/UnpragmaticCovers/2026-03-10 Say It Ain't So - Weezer but it's the OldSchool RuneScape soundfont/Say It Ain't So - Weezer but it's the OldSchool RuneScape soundfont [ZJQpyKj7r-0].mp4", false, ~U[2026-03-10 14:01:02Z]] 18:44:50.752 [debug] QUERY OK source="sources" db=0.5ms idle=79.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:50.753 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms 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] 18:44:50.754 [debug] QUERY OK source="media_items" db=0.7ms idle=36.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] 18:44:50.754 [info] Kicking off download for media item #33 (ZJQpyKj7r-0) 18:44:50.758 [debug] QUERY OK source="tasks" db=0.8ms idle=4.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [36, 33, ~U[2026-06-27 16:44:50Z], ~U[2026-06-27 16:44:50Z]] 18:44:50.758 [debug] Current batch of media processed. Will check again in 1000ms 18:44:51.209 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXL7kx_lsX0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/60/7e/607e282dab10f11c1159533d3db4c006b9b59deacd04e3af0178455cfe6698e4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:44:51.224 [debug] Running yt-dlp command for action: download_thumbnail 18:44:51.226 [debug] QUERY OK source="settings" db=0.2ms idle=472.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:51.226 [debug] QUERY OK source="settings" db=0.2ms idle=471.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:51.227 [debug] QUERY OK source="settings" db=0.2ms idle=470.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:51.227 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXL7kx_lsX0 --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/38/68/38684498c84e7bfeb84d57103990cc150adedce453eb48df95e805fe96a83a44.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:44:51.759 [debug] Current batch of media processed. Will check again in 1000ms 18:44:52.760 [debug] Current batch of media processed. Will check again in 1000ms 18:44:53.761 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "She just smiled and gave me a Triangle sandwich\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 213, "filename" => "/downloads/UnpragmaticCovers/2026-03-06 Down Under - Men At Work but it's the OldSchool RuneScape soundfont/Down Under - Men At Work but it's the OldSchool RuneScape soundfont [TaWu7y7hobI].mp4", "id" => "TaWu7y7hobI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=TaWu7y7hobI", "playlist_index" => 34, "timestamp" => 1772809256, "title" => "Down Under - Men At Work but it's the OldSchool RuneScape soundfont", "upload_date" => "20260306"} 18:44:53.762 [debug] QUERY OK source="sources" db=0.2ms idle=1085.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:44:53.763 [debug] QUERY OK source="sources" db=0.3ms 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] 18:44:53.763 [debug] QUERY OK source="media_items" db=0.3ms idle=770.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-06 15:00:56Z], 1] 18:44:53.798 [debug] QUERY OK source="media_items" db=34.0ms idle=770.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["She just smiled and gave me a Triangle sandwich\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Down Under - Men At Work but it's the OldSchool RuneScape soundfont", "2c4e0f4a-dc7a-43f5-9502-7f77a28aa3a6", "TaWu7y7hobI", false, "https://www.youtube.com/watch?v=TaWu7y7hobI", 1, [], 213, false, 34, "/downloads/UnpragmaticCovers/2026-03-06 Down Under - Men At Work but it's the OldSchool RuneScape soundfont/Down Under - Men At Work but it's the OldSchool RuneScape soundfont [TaWu7y7hobI].mp4", false, false, 99, ~U[2026-03-06 15:00:56Z], ~U[2026-06-27 16:44:53Z], ~U[2026-06-27 16:44:53Z], "She just smiled and gave me a Triangle sandwich\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Down Under - Men At Work but it's the OldSchool RuneScape soundfont", "TaWu7y7hobI", "https://www.youtube.com/watch?v=TaWu7y7hobI", 1, 213, false, "/downloads/UnpragmaticCovers/2026-03-06 Down Under - Men At Work but it's the OldSchool RuneScape soundfont/Down Under - Men At Work but it's the OldSchool RuneScape soundfont [TaWu7y7hobI].mp4", false, ~U[2026-03-06 15:00:56Z]] 18:44:53.798 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=119.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:53.800 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.5ms idle=36.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:44:53.802 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=37.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [34] 18:44:53.802 [info] Kicking off download for media item #34 (TaWu7y7hobI) 18:44:53.806 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=6.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [37, 34, ~U[2026-06-27 16:44:53Z], ~U[2026-06-27 16:44:53Z]] 18:44:53.806 [debug] Current batch of media processed. Will check again in 1000ms 18:44:54.807 [debug] Current batch of media processed. Will check again in 1000ms 18:44:55.808 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 190, "filename" => "/downloads/UnpragmaticCovers/2026-03-03 Feuer Frei! - Rammstein but it's the OldSchool RuneScape soundfont/Feuer Frei! - Rammstein but it's the OldSchool RuneScape soundfont [E65yhBEMmSI].mp4", "id" => "E65yhBEMmSI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=E65yhBEMmSI", "playlist_index" => 35, "timestamp" => 1772550022, "title" => "Feuer Frei! - Rammstein but it's the OldSchool RuneScape soundfont", "upload_date" => "20260303"} 18:44:55.809 [debug] QUERY OK source="sources" db=0.2ms idle=816.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:44:55.810 [debug] QUERY OK source="sources" db=0.2ms idle=816.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:44:55.810 [debug] QUERY OK source="media_items" db=0.1ms idle=817.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-03 15:00:22Z], 1] 18:44:55.811 [debug] QUERY OK source="media_items" db=0.8ms idle=817.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Feuer Frei! - Rammstein but it's the OldSchool RuneScape soundfont", "7ce7c41b-14cd-4620-8d32-e86d2e53e357", "E65yhBEMmSI", false, "https://www.youtube.com/watch?v=E65yhBEMmSI", 1, [], 190, false, 35, "/downloads/UnpragmaticCovers/2026-03-03 Feuer Frei! - Rammstein but it's the OldSchool RuneScape soundfont/Feuer Frei! - Rammstein but it's the OldSchool RuneScape soundfont [E65yhBEMmSI].mp4", false, false, 99, ~U[2026-03-03 15:00:22Z], ~U[2026-06-27 16:44:55Z], ~U[2026-06-27 16:44:55Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Feuer Frei! - Rammstein but it's the OldSchool RuneScape soundfont", "E65yhBEMmSI", "https://www.youtube.com/watch?v=E65yhBEMmSI", 1, 190, false, "/downloads/UnpragmaticCovers/2026-03-03 Feuer Frei! - Rammstein but it's the OldSchool RuneScape soundfont/Feuer Frei! - Rammstein but it's the OldSchool RuneScape soundfont [E65yhBEMmSI].mp4", false, ~U[2026-03-03 15:00:22Z]] 18:44:55.812 [debug] QUERY OK source="sources" db=0.3ms idle=129.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:55.812 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:44:55.813 [debug] QUERY OK source="media_items" db=0.4ms idle=3.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [35] 18:44:55.813 [info] Kicking off download for media item #35 (E65yhBEMmSI) 18:44:55.815 [debug] QUERY OK source="tasks" db=0.1ms idle=3.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [38, 35, ~U[2026-06-27 16:44:55Z], ~U[2026-06-27 16:44:55Z]] 18:44:55.815 [debug] Current batch of media processed. Will check again in 1000ms 18:44:55.849 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KXL7kx_lsX0 --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/38/68/38684498c84e7bfeb84d57103990cc150adedce453eb48df95e805fe96a83a44.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:44:55.849 [debug] QUERY OK db=0.0ms idle=36.5ms begin [] 18:44:55.850 [debug] QUERY OK source="media_items" db=0.4ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/UnpragmaticCovers/2026-06-09 That's What You Get - Paramore but it's the OldSchool RuneScape soundfont/That's What You Get - Paramore but it's the OldSchool RuneScape soundfont [KXL7kx_lsX0].mp4", "/downloads/UnpragmaticCovers/2026-06-09 That's What You Get - Paramore but it's the OldSchool RuneScape soundfont/That's What You Get - Paramore but it's the OldSchool RuneScape soundfont [KXL7kx_lsX0]-thumb.jpg", ~U[2026-06-27 16:44:51Z], ~U[2026-06-27 16:44:55Z], 6] 18:44:55.850 [debug] QUERY OK source="media_metadata" db=0.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/6/metadata.json.gz", "/config/metadata/media_items/6/thumbnail.jpg", 6, ~U[2026-06-27 16:44:55Z], ~U[2026-06-27 16:44:55Z]] 18:44:55.851 [debug] QUERY OK db=0.1ms commit [] 18:44:55.851 [debug] QUERY OK source="media_items" db=0.4ms idle=37.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [16274086, ~U[2026-06-27 16:44:55Z], 6] 18:44:55.851 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:44:55.852 [info] {"args":{"id":6},"id":9,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":29803269,"event":"job:stop","queue_time":79047655,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:44:55.853 [debug] QUERY OK source="tasks" db=0.5ms idle=37.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"] 18:44:55.853 [debug] QUERY OK source="media_items" db=0.2ms idle=38.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" = ?) [7] 18:44:55.854 [debug] QUERY OK source="sources" db=0.8ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:55.858 [info] {"args":{"id":8},"id":11,"meta":{},"system_time":1782578695858378353,"max_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:44:55.859 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=6.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [8] 18:44:55.859 [debug] QUERY OK source="tasks" db=0.7ms idle=5.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 18:44:55.860 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:44:55.861 [debug] QUERY OK source="sources" db=0.5ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:55.861 [debug] QUERY OK source="media_items" db=1.0ms idle=6.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [7, 8] 18:44:55.861 [debug] QUERY OK source="sources" db=1.2ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:55.862 [debug] QUERY OK source="media_profiles" db=1.0ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:44:55.864 [debug] QUERY OK source="media_items" db=1.0ms 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 [8] 18:44:55.866 [debug] QUERY OK source="media_metadata" db=0.2ms queue=0.1ms idle=5.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [8] 18:44:55.867 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:44:55.868 [debug] QUERY OK source="settings" db=0.1ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:44:55.868 [debug] QUERY OK source="settings" db=0.2ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:44:55.869 [debug] Running yt-dlp command for action: get_downloadable_status 18:44:55.871 [debug] QUERY OK source="settings" db=0.2ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:44:55.871 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms 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 [] 18:44:55.872 [debug] QUERY OK source="settings" db=0.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 [] 18:44:55.873 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=78kArFA7r9o --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f1/b6/f1b6eb8bd64c29d8ce9778a1cc3b2ec15fbf585b2e20b3b09505e31340fc6dfa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:44:56.816 [debug] Current batch of media processed. Will check again in 1000ms 18:44:57.817 [debug] Current batch of media processed. Will check again in 1000ms 18:44:58.818 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 271, "filename" => "/downloads/UnpragmaticCovers/2026-02-27 The Number of the Beast - Iron Maiden but it's the OldSchool RuneScape soundfont/The Number of the Beast - Iron Maiden but it's the OldSchool RuneScape soundfont [te7Mm6Fz4cw].mp4", "id" => "te7Mm6Fz4cw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=te7Mm6Fz4cw", "playlist_index" => 36, "timestamp" => 1772204504, "title" => "The Number of the Beast - Iron Maiden but it's the OldSchool RuneScape soundfont", "upload_date" => "20260227"} 18:44:58.819 [debug] QUERY OK source="sources" db=0.5ms idle=1826.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:44:58.822 [debug] QUERY OK source="sources" db=2.4ms idle=1826.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:44:58.823 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=1829.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-27 15:01:44Z], 1] 18:44:58.866 [debug] QUERY OK source="media_items" db=41.5ms idle=1138.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "The Number of the Beast - Iron Maiden but it's the OldSchool RuneScape soundfont", "1e210202-dd70-46e0-97b6-7eafba052237", "te7Mm6Fz4cw", false, "https://www.youtube.com/watch?v=te7Mm6Fz4cw", 1, [], 271, false, 36, "/downloads/UnpragmaticCovers/2026-02-27 The Number of the Beast - Iron Maiden but it's the OldSchool RuneScape soundfont/The Number of the Beast - Iron Maiden but it's the OldSchool RuneScape soundfont [te7Mm6Fz4cw].mp4", false, false, 99, ~U[2026-02-27 15:01:44Z], ~U[2026-06-27 16:44:58Z], ~U[2026-06-27 16:44:58Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "The Number of the Beast - Iron Maiden but it's the OldSchool RuneScape soundfont", "te7Mm6Fz4cw", "https://www.youtube.com/watch?v=te7Mm6Fz4cw", 1, 271, false, "/downloads/UnpragmaticCovers/2026-02-27 The Number of the Beast - Iron Maiden but it's the OldSchool RuneScape soundfont/The Number of the Beast - Iron Maiden but it's the OldSchool RuneScape soundfont [te7Mm6Fz4cw].mp4", false, ~U[2026-02-27 15:01:44Z]] 18:44:58.867 [debug] QUERY OK source="sources" db=1.5ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:44:58.873 [debug] QUERY OK source="media_profiles" db=1.6ms queue=2.9ms idle=48.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:58.875 [debug] QUERY OK source="media_items" db=1.4ms idle=51.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 [36] 18:44:58.875 [info] Kicking off download for media item #36 (te7Mm6Fz4cw) 18:44:58.880 [debug] QUERY OK source="tasks" db=0.5ms idle=11.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [39, 36, ~U[2026-06-27 16:44:58Z], ~U[2026-06-27 16:44:58Z]] 18:44:58.881 [debug] Current batch of media processed. Will check again in 1000ms 18:44:59.881 [debug] Current batch of media processed. Will check again in 1000ms 18:45:00.333 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=78kArFA7r9o --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f1/b6/f1b6eb8bd64c29d8ce9778a1cc3b2ec15fbf585b2e20b3b09505e31340fc6dfa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:45:00.333 [debug] Running yt-dlp command for action: download 18:45:00.334 [debug] QUERY OK source="settings" db=0.6ms 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 [] 18:45:00.335 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=341.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:00.337 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=343.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:45:00.340 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=78kArFA7r9o --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d3/17/d3173e4fedcd0831a281a5067682809fda85c439b9c82580969ac3890ddd702c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:45:00.649 [info] {"source":"oban","duration":1124,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:45:00.882 [debug] Current batch of media processed. Will check again in 1000ms 18:45:01.883 [debug] Current batch of media processed. Will check again in 1000ms 18:45:02.261 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zvE4aQpkefE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/35/62/356275e35d79997f928dc236f90f8adb987a9be0798c76265b6dcda73b6f662f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:45:02.280 [debug] Running yt-dlp command for action: download_thumbnail 18:45:02.283 [debug] QUERY OK source="settings" db=0.3ms idle=563.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:45:02.283 [debug] QUERY OK source="settings" db=0.2ms idle=290.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:02.284 [debug] QUERY OK source="settings" db=0.5ms idle=290.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:02.284 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zvE4aQpkefE --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/67/6e/676ec19c05c8ad617c0772888c9b6ac1e294d4cced38c08703d7d2de317486b1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:45:02.884 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "And the raid will kill us all\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 280, "filename" => "/downloads/UnpragmaticCovers/2026-02-24 Psychosocial - Slipknot but it's the OldSchool RuneScape soundfont/Psychosocial - Slipknot but it's the OldSchool RuneScape soundfont [Wexvu3xaAiA].mp4", "id" => "Wexvu3xaAiA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Wexvu3xaAiA", "playlist_index" => 37, "timestamp" => 1771945260, "title" => "Psychosocial - Slipknot but it's the OldSchool RuneScape soundfont", "upload_date" => "20260224"} 18:45:02.887 [debug] QUERY OK source="sources" db=0.3ms idle=894.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:45:02.887 [debug] QUERY OK source="sources" db=0.3ms idle=604.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:45:02.888 [debug] QUERY OK source="media_items" db=0.2ms idle=604.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-24 15:01:00Z], 1] 18:45:02.890 [debug] QUERY OK source="media_items" db=1.6ms idle=604.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["And the raid will kill us all\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Psychosocial - Slipknot but it's the OldSchool RuneScape soundfont", "369332af-5ef3-420e-a7bd-220d27229c35", "Wexvu3xaAiA", false, "https://www.youtube.com/watch?v=Wexvu3xaAiA", 1, [], 280, false, 37, "/downloads/UnpragmaticCovers/2026-02-24 Psychosocial - Slipknot but it's the OldSchool RuneScape soundfont/Psychosocial - Slipknot but it's the OldSchool RuneScape soundfont [Wexvu3xaAiA].mp4", false, false, 99, ~U[2026-02-24 15:01:00Z], ~U[2026-06-27 16:45:02Z], ~U[2026-06-27 16:45:02Z], "And the raid will kill us all\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Psychosocial - Slipknot but it's the OldSchool RuneScape soundfont", "Wexvu3xaAiA", "https://www.youtube.com/watch?v=Wexvu3xaAiA", 1, 280, false, "/downloads/UnpragmaticCovers/2026-02-24 Psychosocial - Slipknot but it's the OldSchool RuneScape soundfont/Psychosocial - Slipknot but it's the OldSchool RuneScape soundfont [Wexvu3xaAiA].mp4", false, ~U[2026-02-24 15:01:00Z]] 18:45:02.891 [debug] QUERY OK source="sources" db=0.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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:45:02.891 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:45:02.892 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [37] 18:45:02.892 [info] Kicking off download for media item #37 (Wexvu3xaAiA) 18:45:02.894 [debug] QUERY OK source="tasks" db=0.2ms idle=2.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [40, 37, ~U[2026-06-27 16:45:02Z], ~U[2026-06-27 16:45:02Z]] 18:45:02.894 [debug] Current batch of media processed. Will check again in 1000ms 18:45:03.895 [debug] Current batch of media processed. Will check again in 1000ms 18:45:04.896 [debug] Current batch of media processed. Will check again in 1000ms 18:45:05.898 [debug] Current batch of media processed. Will check again in 1000ms 18:45:06.899 [debug] Current batch of media processed. Will check again in 1000ms 18:45:07.900 [debug] Current batch of media processed. Will check again in 1000ms 18:45:08.901 [debug] Current batch of media processed. Will check again in 1000ms 18:45:09.902 [debug] Current batch of media processed. Will check again in 1000ms 18:45:10.903 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 182, "filename" => "/downloads/UnpragmaticCovers/2026-02-20 A Place For My Head - Linkin Park but it's the OldSchool RuneScape soundfont/A Place For My Head - Linkin Park but it's the OldSchool RuneScape soundfont [qEOEhQdTUkY].mp4", "id" => "qEOEhQdTUkY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qEOEhQdTUkY", "playlist_index" => 38, "timestamp" => 1771599684, "title" => "A Place For My Head - Linkin Park but it's the OldSchool RuneScape soundfont", "upload_date" => "20260220"} 18:45:10.904 [debug] QUERY OK source="sources" db=0.3ms idle=911.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:45:10.906 [debug] QUERY OK source="sources" db=0.5ms queue=0.5ms idle=912.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:45:10.907 [debug] QUERY OK source="media_items" db=0.7ms queue=0.3ms idle=913.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-20 15:01:24Z], 1] 18:45:10.943 [debug] QUERY OK source="media_items" db=34.9ms idle=915.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "A Place For My Head - Linkin Park but it's the OldSchool RuneScape soundfont", "a59b48a6-562e-40f6-a8ca-3f98ea81e526", "qEOEhQdTUkY", false, "https://www.youtube.com/watch?v=qEOEhQdTUkY", 1, [], 182, false, 38, "/downloads/UnpragmaticCovers/2026-02-20 A Place For My Head - Linkin Park but it's the OldSchool RuneScape soundfont/A Place For My Head - Linkin Park but it's the OldSchool RuneScape soundfont [qEOEhQdTUkY].mp4", false, false, 99, ~U[2026-02-20 15:01:24Z], ~U[2026-06-27 16:45:10Z], ~U[2026-06-27 16:45:10Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "A Place For My Head - Linkin Park but it's the OldSchool RuneScape soundfont", "qEOEhQdTUkY", "https://www.youtube.com/watch?v=qEOEhQdTUkY", 1, 182, false, "/downloads/UnpragmaticCovers/2026-02-20 A Place For My Head - Linkin Park but it's the OldSchool RuneScape soundfont/A Place For My Head - Linkin Park but it's the OldSchool RuneScape soundfont [qEOEhQdTUkY].mp4", false, ~U[2026-02-20 15:01:24Z]] 18:45:10.944 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=190.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:10.945 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.1ms idle=39.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:10.946 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=40.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 [38] 18:45:10.946 [info] Kicking off download for media item #38 (qEOEhQdTUkY) 18:45:10.951 [debug] QUERY OK source="tasks" db=1.0ms idle=5.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [41, 38, ~U[2026-06-27 16:45:10Z], ~U[2026-06-27 16:45:10Z]] 18:45:10.951 [debug] Current batch of media processed. Will check again in 1000ms 18:45:11.954 [debug] Current batch of media processed. Will check again in 1000ms 18:45:12.956 [debug] Current batch of media processed. Will check again in 1000ms 18:45:13.958 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 421, "filename" => "/downloads/UnpragmaticCovers/2026-02-17 Around the World - Daft Punk but it's the OldSchool RuneScape soundfont/Around the World - Daft Punk but it's the OldSchool RuneScape soundfont [pVXuQPzs4Mk].mp4", "id" => "pVXuQPzs4Mk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=pVXuQPzs4Mk", "playlist_index" => 39, "timestamp" => 1771340487, "title" => "Around the World - Daft Punk but it's the OldSchool RuneScape soundfont", "upload_date" => "20260217"} 18:45:13.960 [debug] QUERY OK source="sources" db=1.2ms queue=0.9ms idle=1965.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:45:13.962 [debug] QUERY OK source="sources" db=0.8ms queue=0.8ms idle=1968.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:45:13.965 [debug] QUERY OK source="media_items" db=0.4ms queue=1.0ms idle=1970.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-17 15:01:27Z], 1] 18:45:14.000 [debug] QUERY OK source="media_items" db=33.8ms idle=1199.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Around the World - Daft Punk but it's the OldSchool RuneScape soundfont", "86dd669f-2a72-4d4d-9007-742ad25990f8", "pVXuQPzs4Mk", false, "https://www.youtube.com/watch?v=pVXuQPzs4Mk", 1, [], 421, false, 39, "/downloads/UnpragmaticCovers/2026-02-17 Around the World - Daft Punk but it's the OldSchool RuneScape soundfont/Around the World - Daft Punk but it's the OldSchool RuneScape soundfont [pVXuQPzs4Mk].mp4", false, false, 99, ~U[2026-02-17 15:01:27Z], ~U[2026-06-27 16:45:13Z], ~U[2026-06-27 16:45:13Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Around the World - Daft Punk but it's the OldSchool RuneScape soundfont", "pVXuQPzs4Mk", "https://www.youtube.com/watch?v=pVXuQPzs4Mk", 1, 421, false, "/downloads/UnpragmaticCovers/2026-02-17 Around the World - Daft Punk but it's the OldSchool RuneScape soundfont/Around the World - Daft Punk but it's the OldSchool RuneScape soundfont [pVXuQPzs4Mk].mp4", false, ~U[2026-02-17 15:01:27Z]] 18:45:14.006 [debug] QUERY OK source="sources" db=5.1ms 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] 18:45:14.014 [debug] QUERY OK source="media_profiles" db=7.5ms queue=0.1ms idle=46.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:14.015 [debug] QUERY OK source="media_items" db=0.3ms idle=52.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 [39] 18:45:14.015 [info] Kicking off download for media item #39 (pVXuQPzs4Mk) 18:45:14.019 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=12.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [42, 39, ~U[2026-06-27 16:45:14Z], ~U[2026-06-27 16:45:14Z]] 18:45:14.020 [debug] Current batch of media processed. Will check again in 1000ms 18:45:15.021 [debug] Current batch of media processed. Will check again in 1000ms 18:45:15.764 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=zvE4aQpkefE --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/67/6e/676ec19c05c8ad617c0772888c9b6ac1e294d4cced38c08703d7d2de317486b1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:45:15.767 [debug] QUERY OK db=0.2ms queue=0.9ms idle=1750.4ms begin [] 18:45:15.769 [debug] QUERY OK source="media_items" db=1.9ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/UnpragmaticCovers/2026-06-05 I Miss You - Blink-182 but it's the OldSchool RuneScape soundfont/I Miss You - Blink-182 but it's the OldSchool RuneScape soundfont [zvE4aQpkefE].mp4", "/downloads/UnpragmaticCovers/2026-06-05 I Miss You - Blink-182 but it's the OldSchool RuneScape soundfont/I Miss You - Blink-182 but it's the OldSchool RuneScape soundfont [zvE4aQpkefE]-thumb.jpg", ~U[2026-06-27 16:45:02Z], ~U[2026-06-27 16:45:15Z], 7] 18:45:15.771 [debug] QUERY OK source="media_metadata" db=2.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/7/metadata.json.gz", "/config/metadata/media_items/7/thumbnail.jpg", 7, ~U[2026-06-27 16:45:15Z], ~U[2026-06-27 16:45:15Z]] 18:45:15.772 [debug] QUERY OK db=0.5ms commit [] 18:45:15.813 [debug] QUERY OK source="media_items" db=36.4ms queue=0.2ms idle=1758.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [5754746, ~U[2026-06-27 16:45:15Z], 7] 18:45:15.816 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:45:15.818 [info] {"args":{"id":7},"id":10,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":39134514,"event":"job:stop","queue_time":87680678,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:45:15.823 [debug] QUERY OK source="tasks" db=3.9ms idle=1041.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"] 18:45:15.827 [debug] QUERY OK source="sources" db=2.2ms idle=43.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:15.828 [debug] QUERY OK source="media_items" db=3.0ms idle=52.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" = ?) [8] 18:45:15.833 [info] {"args":{"id":9},"id":12,"meta":{},"system_time":1782578715830995300,"max_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:45:15.838 [debug] QUERY OK source="media_items" db=3.6ms 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 WHERE (m0."id" = ?) [9] 18:45:15.842 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:45:15.845 [debug] QUERY OK source="tasks" db=6.6ms queue=0.7ms idle=15.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 18:45:15.846 [debug] QUERY OK source="sources" db=3.7ms queue=0.2ms 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] 18:45:15.858 [debug] QUERY OK source="media_items" db=5.6ms 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", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [8, 9] 18:45:15.859 [debug] QUERY OK source="media_profiles" db=7.7ms queue=1.0ms idle=22.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:45:15.862 [debug] QUERY OK source="sources" db=10.5ms 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] 18:45:15.864 [debug] QUERY OK source="media_items" db=4.1ms idle=14.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9] 18:45:15.868 [debug] QUERY OK source="media_metadata" db=0.7ms idle=21.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" = ?) [9] 18:45:15.872 [debug] QUERY OK source="media_profiles" db=1.9ms queue=1.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] 18:45:15.874 [debug] QUERY OK source="settings" db=1.0ms idle=13.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:45:15.875 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=11.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:45:15.876 [debug] Running yt-dlp command for action: get_downloadable_status 18:45:15.878 [debug] QUERY OK source="settings" db=0.3ms 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 [] 18:45:15.879 [debug] QUERY OK source="settings" db=0.8ms idle=9.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:45:15.880 [debug] QUERY OK source="settings" db=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 [] 18:45:15.880 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VqSXZyC4ciI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5c/36/5c36064667581b34383303bf36cc12f07ce64c4538fcf9a0c8eb4c6aa7f060fc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:45:16.026 [debug] Current batch of media processed. Will check again in 1000ms 18:45:17.028 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "But why?\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 235, "filename" => "/downloads/UnpragmaticCovers/2026-02-14 L'Amour Toujours - Gigi D'Agostino but it's the OldSchool RuneScape soundfont/L'Amour Toujours - Gigi D'Agostino but it's the OldSchool RuneScape soundfont [GXWYVVniWYk].mp4", "id" => "GXWYVVniWYk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GXWYVVniWYk", "playlist_index" => 40, "timestamp" => 1771081231, "title" => "L'Amour Toujours - Gigi D'Agostino but it's the OldSchool RuneScape soundfont", "upload_date" => "20260214"} 18:45:17.032 [debug] QUERY OK source="sources" db=0.6ms queue=1.4ms idle=246.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:45:17.033 [debug] QUERY OK source="sources" db=0.5ms idle=39.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:45:17.034 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=40.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-14 15:00:31Z], 1] 18:45:17.037 [debug] QUERY OK source="media_items" db=1.4ms idle=42.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["But why?\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "L'Amour Toujours - Gigi D'Agostino but it's the OldSchool RuneScape soundfont", "15a9679a-098b-44e6-a3d0-d0b399dbc63a", "GXWYVVniWYk", false, "https://www.youtube.com/watch?v=GXWYVVniWYk", 1, [], 235, false, 40, "/downloads/UnpragmaticCovers/2026-02-14 L'Amour Toujours - Gigi D'Agostino but it's the OldSchool RuneScape soundfont/L'Amour Toujours - Gigi D'Agostino but it's the OldSchool RuneScape soundfont [GXWYVVniWYk].mp4", false, false, 99, ~U[2026-02-14 15:00:31Z], ~U[2026-06-27 16:45:17Z], ~U[2026-06-27 16:45:17Z], "But why?\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "L'Amour Toujours - Gigi D'Agostino but it's the OldSchool RuneScape soundfont", "GXWYVVniWYk", "https://www.youtube.com/watch?v=GXWYVVniWYk", 1, 235, false, "/downloads/UnpragmaticCovers/2026-02-14 L'Amour Toujours - Gigi D'Agostino but it's the OldSchool RuneScape soundfont/L'Amour Toujours - Gigi D'Agostino but it's the OldSchool RuneScape soundfont [GXWYVVniWYk].mp4", false, ~U[2026-02-14 15:00:31Z]] 18:45:17.038 [debug] QUERY OK source="sources" db=0.9ms queue=0.2ms idle=44.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:17.039 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.5ms idle=6.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:45:17.041 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=7.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [40] 18:45:17.041 [info] Kicking off download for media item #40 (GXWYVVniWYk) 18:45:17.048 [debug] QUERY OK source="tasks" db=0.6ms queue=0.5ms idle=9.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [43, 40, ~U[2026-06-27 16:45:17Z], ~U[2026-06-27 16:45:17Z]] 18:45:17.048 [debug] Current batch of media processed. Will check again in 1000ms 18:45:17.572 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:18.049 [debug] Current batch of media processed. Will check again in 1000ms 18:45:19.050 [debug] Current batch of media processed. Will check again in 1000ms 18:45:19.971 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=78kArFA7r9o --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d3/17/d3173e4fedcd0831a281a5067682809fda85c439b9c82580969ac3890ddd702c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:45:19.995 [debug] Running yt-dlp command for action: download_thumbnail 18:45:19.997 [debug] QUERY OK source="settings" db=0.3ms idle=1004.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:45:19.998 [debug] QUERY OK source="settings" db=0.4ms idle=1004.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.998 [debug] QUERY OK source="settings" db=0.1ms idle=1005.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.998 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=78kArFA7r9o --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/5e/b5/5eb50ba41f72f97027d574d43343e16662b72968fe799b04f6f2ed7dfc0aa1f8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:45:20.051 [debug] Current batch of media processed. Will check again in 1000ms 18:45:20.726 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VqSXZyC4ciI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5c/36/5c36064667581b34383303bf36cc12f07ce64c4538fcf9a0c8eb4c6aa7f060fc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:45:20.726 [debug] Running yt-dlp command for action: download 18:45:20.727 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms 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 [] 18:45:20.728 [debug] QUERY OK source="settings" db=0.3ms idle=932.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:45:20.728 [debug] QUERY OK source="settings" db=0.2ms idle=731.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.729 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VqSXZyC4ciI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d5/8a/d58a1acf8786d9dee1c6cfafcc84b65d3161da0839e96cd3e0a0110d99505355.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:45:21.052 [debug] Current batch of media processed. Will check again in 1000ms 18:45:22.054 [debug] Current batch of media processed. Will check again in 1000ms 18:45:23.055 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Randy Rhoads was an alien.\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 298, "filename" => "/downloads/UnpragmaticCovers/2026-02-10 Mr. Crowley - Ozzy Osbourne but it's the OldSchool RuneScape soundfont/Mr. Crowley - Ozzy Osbourne but it's the OldSchool RuneScape soundfont [Q6YJFI6HbDI].mp4", "id" => "Q6YJFI6HbDI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Q6YJFI6HbDI", "playlist_index" => 41, "timestamp" => 1770735653, "title" => "Mr. Crowley - Ozzy Osbourne but it's the OldSchool RuneScape soundfont", "upload_date" => "20260210"} 18:45:23.056 [debug] QUERY OK source="sources" db=0.6ms idle=1063.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:45:23.057 [debug] QUERY OK source="sources" db=0.3ms idle=1064.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:45:23.058 [debug] QUERY OK source="media_items" db=0.6ms idle=1064.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-10 15:00:53Z], 1] 18:45:23.060 [debug] QUERY OK source="media_items" db=1.4ms idle=1066.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Randy Rhoads was an alien.\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Mr. Crowley - Ozzy Osbourne but it's the OldSchool RuneScape soundfont", "b538895a-2743-45c3-9c88-35682994af75", "Q6YJFI6HbDI", false, "https://www.youtube.com/watch?v=Q6YJFI6HbDI", 1, [], 298, false, 41, "/downloads/UnpragmaticCovers/2026-02-10 Mr. Crowley - Ozzy Osbourne but it's the OldSchool RuneScape soundfont/Mr. Crowley - Ozzy Osbourne but it's the OldSchool RuneScape soundfont [Q6YJFI6HbDI].mp4", false, false, 99, ~U[2026-02-10 15:00:53Z], ~U[2026-06-27 16:45:23Z], ~U[2026-06-27 16:45:23Z], "Randy Rhoads was an alien.\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Mr. Crowley - Ozzy Osbourne but it's the OldSchool RuneScape soundfont", "Q6YJFI6HbDI", "https://www.youtube.com/watch?v=Q6YJFI6HbDI", 1, 298, false, "/downloads/UnpragmaticCovers/2026-02-10 Mr. Crowley - Ozzy Osbourne but it's the OldSchool RuneScape soundfont/Mr. Crowley - Ozzy Osbourne but it's the OldSchool RuneScape soundfont [Q6YJFI6HbDI].mp4", false, ~U[2026-02-10 15:00:53Z]] 18:45:23.061 [debug] QUERY OK source="sources" db=0.3ms idle=260.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:23.061 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:45:23.062 [debug] QUERY OK source="media_items" db=0.3ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [41] 18:45:23.062 [info] Kicking off download for media item #41 (Q6YJFI6HbDI) 18:45:23.063 [debug] QUERY OK source="tasks" db=0.1ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [44, 41, ~U[2026-06-27 16:45:23Z], ~U[2026-06-27 16:45:23Z]] 18:45:23.063 [debug] Current batch of media processed. Will check again in 1000ms 18:45:24.064 [debug] Current batch of media processed. Will check again in 1000ms 18:45:24.522 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=78kArFA7r9o --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/5e/b5/5eb50ba41f72f97027d574d43343e16662b72968fe799b04f6f2ed7dfc0aa1f8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:45:24.527 [debug] QUERY OK db=0.1ms idle=1465.3ms begin [] 18:45:24.530 [debug] QUERY OK source="media_items" db=2.0ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/UnpragmaticCovers/2026-06-01 Pink Pony Club - Chappell Roan but it's the OldSchool RuneScape soundfont/Pink Pony Club - Chappell Roan but it's the OldSchool RuneScape soundfont [78kArFA7r9o].mp4", "/downloads/UnpragmaticCovers/2026-06-01 Pink Pony Club - Chappell Roan but it's the OldSchool RuneScape soundfont/Pink Pony Club - Chappell Roan but it's the OldSchool RuneScape soundfont [78kArFA7r9o]-thumb.jpg", ~U[2026-06-27 16:45:19Z], ~U[2026-06-27 16:45:24Z], 8] 18:45:24.532 [debug] QUERY OK source="media_metadata" db=1.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/8/metadata.json.gz", "/config/metadata/media_items/8/thumbnail.jpg", 8, ~U[2026-06-27 16:45:24Z], ~U[2026-06-27 16:45:24Z]] 18:45:24.537 [debug] QUERY OK db=5.1ms commit [] 18:45:24.550 [debug] QUERY OK source="media_items" db=8.8ms queue=0.9ms idle=1477.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [6919966, ~U[2026-06-27 16:45:24Z], 8] 18:45:24.556 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:45:24.557 [info] {"args":{"id":8},"id":11,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":28698298,"event":"job:stop","queue_time":102857675,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:45:24.560 [debug] QUERY OK source="tasks" db=1.1ms idle=1495.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 18:45:24.562 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=757.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" = ?) [9] 18:45:24.562 [debug] QUERY OK source="sources" db=0.9ms idle=23.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:45:24.566 [info] {"args":{"id":10},"id":13,"meta":{},"system_time":1782578724565929050,"max_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:45:24.568 [debug] QUERY OK source="tasks" db=1.6ms idle=6.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 18:45:24.569 [debug] QUERY OK source="media_items" db=2.9ms idle=8.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" = ?) [10] 18:45:24.570 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:45:24.571 [debug] QUERY OK source="media_items" db=1.8ms idle=7.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [9, 10] 18:45:24.571 [debug] QUERY OK source="sources" db=1.8ms queue=0.1ms idle=7.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:45:24.574 [debug] QUERY OK source="sources" db=3.2ms queue=0.5ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:45:24.575 [debug] QUERY OK source="media_profiles" db=0.8ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:45:24.580 [debug] QUERY OK source="media_items" db=1.4ms idle=8.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [10] 18:45:24.581 [debug] QUERY OK source="media_metadata" db=0.1ms idle=9.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" = ?) [10] 18:45:24.582 [debug] QUERY OK source="media_profiles" db=1.0ms idle=9.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:45:24.584 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=9.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:45:24.585 [debug] QUERY OK source="settings" db=0.6ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:45:24.586 [debug] Running yt-dlp command for action: get_downloadable_status 18:45:24.589 [debug] QUERY OK source="settings" db=0.2ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:45:24.590 [debug] QUERY OK source="settings" db=0.8ms 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 [] 18:45:24.591 [debug] QUERY OK source="settings" db=1.5ms 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 [] 18:45:24.594 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=r5oh1ZT9rWo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/79/c5/79c530847403a015a2581bb0b6020d5406df22fd4bc1295eeda48666db3d2be8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:45:25.067 [debug] Current batch of media processed. Will check again in 1000ms 18:45:26.068 [debug] Current batch of media processed. Will check again in 1000ms 18:45:27.070 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "My bloodworm tells me what to do\nMy bloodworm tells me where to go\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 193, "filename" => "/downloads/UnpragmaticCovers/2026-02-06 Needles - System of a Down but it's the OldSchool RuneScape soundfont/Needles - System of a Down but it's the OldSchool RuneScape soundfont [4x_fm-f-yNI].mp4", "id" => "4x_fm-f-yNI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4x_fm-f-yNI", "playlist_index" => 42, "timestamp" => 1770390015, "title" => "Needles - System of a Down but it's the OldSchool RuneScape soundfont", "upload_date" => "20260206"} 18:45:27.071 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1077.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:45:27.073 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1078.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:45:27.075 [debug] QUERY OK source="media_items" db=0.9ms queue=0.2ms idle=1080.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-06 15:00:15Z], 1] 18:45:27.077 [debug] QUERY OK source="media_items" db=1.0ms idle=256.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["My bloodworm tells me what to do\nMy bloodworm tells me where to go\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Needles - System of a Down but it's the OldSchool RuneScape soundfont", "2499cd17-d45d-41c8-8c8b-be085151ac0e", "4x_fm-f-yNI", false, "https://www.youtube.com/watch?v=4x_fm-f-yNI", 1, [], 193, false, 42, "/downloads/UnpragmaticCovers/2026-02-06 Needles - System of a Down but it's the OldSchool RuneScape soundfont/Needles - System of a Down but it's the OldSchool RuneScape soundfont [4x_fm-f-yNI].mp4", false, false, 99, ~U[2026-02-06 15:00:15Z], ~U[2026-06-27 16:45:27Z], ~U[2026-06-27 16:45:27Z], "My bloodworm tells me what to do\nMy bloodworm tells me where to go\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Needles - System of a Down but it's the OldSchool RuneScape soundfont", "4x_fm-f-yNI", "https://www.youtube.com/watch?v=4x_fm-f-yNI", 1, 193, false, "/downloads/UnpragmaticCovers/2026-02-06 Needles - System of a Down but it's the OldSchool RuneScape soundfont/Needles - System of a Down but it's the OldSchool RuneScape soundfont [4x_fm-f-yNI].mp4", false, ~U[2026-02-06 15:00:15Z]] 18:45:27.077 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=83.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:27.078 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=6.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:45:27.079 [debug] QUERY OK source="media_items" db=0.5ms idle=5.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [42] 18:45:27.080 [info] Kicking off download for media item #42 (4x_fm-f-yNI) 18:45:27.145 [debug] QUERY OK source="tasks" db=62.4ms queue=0.2ms idle=5.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [45, 42, ~U[2026-06-27 16:45:27Z], ~U[2026-06-27 16:45:27Z]] 18:45:27.146 [debug] Current batch of media processed. Will check again in 1000ms 18:45:28.150 [debug] Current batch of media processed. Will check again in 1000ms 18:45:29.150 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Skrillnex\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 243, "filename" => "/downloads/UnpragmaticCovers/2026-02-03 Scary Monsters and Nice Sprites - Skrillex but it's the OldSchool RuneScape soundfont/Scary Monsters and Nice Sprites - Skrillex but it's the OldSchool RuneScape soundfont [3I0SoMvvVhk].mp4", "id" => "3I0SoMvvVhk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3I0SoMvvVhk", "playlist_index" => 43, "timestamp" => 1770130809, "title" => "Scary Monsters and Nice Sprites - Skrillex but it's the OldSchool RuneScape soundfont", "upload_date" => "20260203"} 18:45:29.151 [debug] QUERY OK source="sources" db=0.4ms idle=318.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:45:29.152 [debug] QUERY OK source="sources" db=0.4ms idle=158.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:45:29.152 [debug] QUERY OK source="media_items" db=0.2ms idle=158.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-03 15:00:09Z], 1] 18:45:29.186 [debug] QUERY OK source="media_items" db=33.1ms idle=159.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Skrillnex\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Scary Monsters and Nice Sprites - Skrillex but it's the OldSchool RuneScape soundfont", "fd6e3a3d-157c-4bf8-b61c-51061d639713", "3I0SoMvvVhk", false, "https://www.youtube.com/watch?v=3I0SoMvvVhk", 1, [], 243, false, 43, "/downloads/UnpragmaticCovers/2026-02-03 Scary Monsters and Nice Sprites - Skrillex but it's the OldSchool RuneScape soundfont/Scary Monsters and Nice Sprites - Skrillex but it's the OldSchool RuneScape soundfont [3I0SoMvvVhk].mp4", false, false, 99, ~U[2026-02-03 15:00:09Z], ~U[2026-06-27 16:45:29Z], ~U[2026-06-27 16:45:29Z], "Skrillnex\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Scary Monsters and Nice Sprites - Skrillex but it's the OldSchool RuneScape soundfont", "3I0SoMvvVhk", "https://www.youtube.com/watch?v=3I0SoMvvVhk", 1, 243, false, "/downloads/UnpragmaticCovers/2026-02-03 Scary Monsters and Nice Sprites - Skrillex but it's the OldSchool RuneScape soundfont/Scary Monsters and Nice Sprites - Skrillex but it's the OldSchool RuneScape soundfont [3I0SoMvvVhk].mp4", false, ~U[2026-02-03 15:00:09Z]] 18:45:29.187 [debug] QUERY OK source="sources" db=0.8ms idle=193.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:29.188 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=r5oh1ZT9rWo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/79/c5/79c530847403a015a2581bb0b6020d5406df22fd4bc1295eeda48666db3d2be8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:45:29.188 [debug] Running yt-dlp command for action: download 18:45:29.188 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms 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:45:29.189 [debug] QUERY OK source="settings" db=1.0ms idle=36.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:45:29.189 [debug] QUERY OK source="media_items" db=0.8ms idle=36.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 [43] 18:45:29.190 [info] Kicking off download for media item #43 (3I0SoMvvVhk) 18:45:29.190 [debug] QUERY OK source="settings" db=0.2ms 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 [] 18:45:29.190 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:45:29.191 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=r5oh1ZT9rWo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2b/c3/2bc3459f992db44566d6479a78634496cd62e084a4a9f721d43f4ff642056d9c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:45:29.192 [debug] QUERY OK source="tasks" db=0.2ms idle=2.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [46, 43, ~U[2026-06-27 16:45:29Z], ~U[2026-06-27 16:45:29Z]] 18:45:29.192 [debug] Current batch of media processed. Will check again in 1000ms 18:45:30.193 [debug] Current batch of media processed. Will check again in 1000ms 18:45:31.194 [debug] Current batch of media processed. Will check again in 1000ms 18:45:32.195 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=PNhVhc_fckU\n\nArtwork credit to Ren\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 165, "filename" => "/downloads/UnpragmaticCovers/2026-02-01 The Safety Dance but it's the OldSchool RuneScape soundfont/The Safety Dance but it's the OldSchool RuneScape soundfont [_ASXi9QbdXc].mp4", "id" => "_ASXi9QbdXc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_ASXi9QbdXc", "playlist_index" => 44, "timestamp" => 1769958067, "title" => "The Safety Dance but it's the OldSchool RuneScape soundfont", "upload_date" => "20260201"} 18:45:32.196 [debug] QUERY OK source="sources" db=0.3ms idle=1202.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:45:32.197 [debug] QUERY OK source="sources" db=0.1ms idle=1203.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:45:32.197 [debug] QUERY OK source="media_items" db=0.2ms idle=1203.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-01 15:01:07Z], 1] 18:45:32.231 [debug] QUERY OK source="media_items" db=33.1ms idle=1203.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=PNhVhc_fckU\n\nArtwork credit to Ren\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "The Safety Dance but it's the OldSchool RuneScape soundfont", "452ddad4-5ff3-4b5e-9f49-f5759ed84f91", "_ASXi9QbdXc", false, "https://www.youtube.com/watch?v=_ASXi9QbdXc", 1, [], 165, false, 44, "/downloads/UnpragmaticCovers/2026-02-01 The Safety Dance but it's the OldSchool RuneScape soundfont/The Safety Dance but it's the OldSchool RuneScape soundfont [_ASXi9QbdXc].mp4", false, false, 99, ~U[2026-02-01 15:01:07Z], ~U[2026-06-27 16:45:32Z], ~U[2026-06-27 16:45:32Z], "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=PNhVhc_fckU\n\nArtwork credit to Ren\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "The Safety Dance but it's the OldSchool RuneScape soundfont", "_ASXi9QbdXc", "https://www.youtube.com/watch?v=_ASXi9QbdXc", 1, 165, false, "/downloads/UnpragmaticCovers/2026-02-01 The Safety Dance but it's the OldSchool RuneScape soundfont/The Safety Dance but it's the OldSchool RuneScape soundfont [_ASXi9QbdXc].mp4", false, ~U[2026-02-01 15:01:07Z]] 18:45:32.231 [debug] QUERY OK source="sources" db=0.2ms idle=395.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:32.232 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=35.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:32.233 [debug] QUERY OK source="media_items" db=0.7ms idle=35.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [44] 18:45:32.233 [info] Kicking off download for media item #44 (_ASXi9QbdXc) 18:45:32.236 [debug] QUERY OK source="tasks" db=0.1ms idle=4.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [47, 44, ~U[2026-06-27 16:45:32Z], ~U[2026-06-27 16:45:32Z]] 18:45:32.236 [debug] Current batch of media processed. Will check again in 1000ms 18:45:33.236 [debug] Current batch of media processed. Will check again in 1000ms 18:45:34.238 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Ooooooh I wanna dance for some money \nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 286, "filename" => "/downloads/UnpragmaticCovers/2026-01-30 I Wanna Dance With Somebody - Whitney Houston but it's the OldSchool RuneScape soundfont/I Wanna Dance With Somebody - Whitney Houston but it's the OldSchool RuneScape soundfont [veieNJN-PE4].mp4", "id" => "veieNJN-PE4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=veieNJN-PE4", "playlist_index" => 45, "timestamp" => 1769785308, "title" => "I Wanna Dance With Somebody - Whitney Houston but it's the OldSchool RuneScape soundfont", "upload_date" => "20260130"} 18:45:34.239 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=396.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:45:34.241 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=246.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:45:34.242 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=247.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-30 15:01:48Z], 1] 18:45:34.277 [debug] QUERY OK source="media_items" db=33.9ms idle=249.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Ooooooh I wanna dance for some money \nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "I Wanna Dance With Somebody - Whitney Houston but it's the OldSchool RuneScape soundfont", "2111bc82-ae83-490b-8ce5-16fb2b176068", "veieNJN-PE4", false, "https://www.youtube.com/watch?v=veieNJN-PE4", 1, [], 286, false, 45, "/downloads/UnpragmaticCovers/2026-01-30 I Wanna Dance With Somebody - Whitney Houston but it's the OldSchool RuneScape soundfont/I Wanna Dance With Somebody - Whitney Houston but it's the OldSchool RuneScape soundfont [veieNJN-PE4].mp4", false, false, 99, ~U[2026-01-30 15:01:48Z], ~U[2026-06-27 16:45:34Z], ~U[2026-06-27 16:45:34Z], "Ooooooh I wanna dance for some money \nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "I Wanna Dance With Somebody - Whitney Houston but it's the OldSchool RuneScape soundfont", "veieNJN-PE4", "https://www.youtube.com/watch?v=veieNJN-PE4", 1, 286, false, "/downloads/UnpragmaticCovers/2026-01-30 I Wanna Dance With Somebody - Whitney Houston but it's the OldSchool RuneScape soundfont/I Wanna Dance With Somebody - Whitney Houston but it's the OldSchool RuneScape soundfont [veieNJN-PE4].mp4", false, ~U[2026-01-30 15:01:48Z]] 18:45:34.278 [debug] QUERY OK source="sources" db=0.5ms idle=284.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:34.279 [debug] QUERY OK source="media_profiles" db=0.3ms idle=39.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:34.280 [debug] QUERY OK source="media_items" db=0.4ms idle=38.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 [45] 18:45:34.280 [info] Kicking off download for media item #45 (veieNJN-PE4) 18:45:34.283 [debug] QUERY OK source="tasks" db=0.2ms idle=4.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [48, 45, ~U[2026-06-27 16:45:34Z], ~U[2026-06-27 16:45:34Z]] 18:45:34.283 [debug] Current batch of media processed. Will check again in 1000ms 18:45:35.284 [debug] Current batch of media processed. Will check again in 1000ms 18:45:36.286 [debug] Current batch of media processed. Will check again in 1000ms 18:45:36.594 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=r5oh1ZT9rWo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2b/c3/2bc3459f992db44566d6479a78634496cd62e084a4a9f721d43f4ff642056d9c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:45:36.618 [debug] Running yt-dlp command for action: download_thumbnail 18:45:36.619 [debug] QUERY OK source="settings" db=0.1ms idle=773.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:36.620 [debug] QUERY OK source="settings" db=0.4ms idle=625.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:36.620 [debug] QUERY OK source="settings" db=0.2ms idle=626.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:36.620 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=r5oh1ZT9rWo --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/10/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/80/8a/808a50e6cf20854332ab6967e56fdc41c897a051c9079858f6a18e45c0aea834.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:45:37.286 [debug] Current batch of media processed. Will check again in 1000ms 18:45:38.288 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "*Sam's Faith No More Paradox:*\n\nMike Patton is my favourite member of Faith No More, but my favourite Faith No More song is an instrumental\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 341, "filename" => "/downloads/UnpragmaticCovers/2026-01-27 Woodpecker From Mars - Faith No More but it's the OldSchool RuneScape soundfont/Woodpecker From Mars - Faith No More but it's the OldSchool RuneScape soundfont [RKc_24pUqPw].mp4", "id" => "RKc_24pUqPw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RKc_24pUqPw", "playlist_index" => 46, "timestamp" => 1769526051, "title" => "Woodpecker From Mars - Faith No More but it's the OldSchool RuneScape soundfont", "upload_date" => "20260127"} 18:45:38.291 [debug] QUERY OK source="sources" db=1.8ms queue=0.5ms idle=439.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:45:38.293 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=298.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:45:38.295 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=300.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-27 15:00:51Z], 1] 18:45:38.297 [debug] QUERY OK source="media_items" db=1.2ms idle=301.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["*Sam's Faith No More Paradox:*\n\nMike Patton is my favourite member of Faith No More, but my favourite Faith No More song is an instrumental\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Woodpecker From Mars - Faith No More but it's the OldSchool RuneScape soundfont", "0e6ed221-88a9-4689-a0f7-36e0a74ab38b", "RKc_24pUqPw", false, "https://www.youtube.com/watch?v=RKc_24pUqPw", 1, [], 341, false, 46, "/downloads/UnpragmaticCovers/2026-01-27 Woodpecker From Mars - Faith No More but it's the OldSchool RuneScape soundfont/Woodpecker From Mars - Faith No More but it's the OldSchool RuneScape soundfont [RKc_24pUqPw].mp4", false, false, 99, ~U[2026-01-27 15:00:51Z], ~U[2026-06-27 16:45:38Z], ~U[2026-06-27 16:45:38Z], "*Sam's Faith No More Paradox:*\n\nMike Patton is my favourite member of Faith No More, but my favourite Faith No More song is an instrumental\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Woodpecker From Mars - Faith No More but it's the OldSchool RuneScape soundfont", "RKc_24pUqPw", "https://www.youtube.com/watch?v=RKc_24pUqPw", 1, 341, false, "/downloads/UnpragmaticCovers/2026-01-27 Woodpecker From Mars - Faith No More but it's the OldSchool RuneScape soundfont/Woodpecker From Mars - Faith No More but it's the OldSchool RuneScape soundfont [RKc_24pUqPw].mp4", false, ~U[2026-01-27 15:00:51Z]] 18:45:38.298 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=303.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:45:38.303 [debug] QUERY OK source="media_profiles" db=0.6ms queue=3.5ms idle=7.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:45:38.307 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=10.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [46] 18:45:38.307 [info] Kicking off download for media item #46 (RKc_24pUqPw) 18:45:38.314 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=15.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [49, 46, ~U[2026-06-27 16:45:38Z], ~U[2026-06-27 16:45:38Z]] 18:45:38.314 [debug] Current batch of media processed. Will check again in 1000ms 18:45:39.316 [debug] Current batch of media processed. Will check again in 1000ms 18:45:39.523 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VqSXZyC4ciI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d5/8a/d58a1acf8786d9dee1c6cfafcc84b65d3161da0839e96cd3e0a0110d99505355.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:45:39.532 [debug] Running yt-dlp command for action: download_thumbnail 18:45:39.543 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1236.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:45:39.545 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1232.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:39.546 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1232.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:39.547 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VqSXZyC4ciI --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ae/af/aeaf9aca23adc459160328a96505d5faaed9a0ef5847ef73e80ea976b748282c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:45:40.321 [debug] Current batch of media processed. Will check again in 1000ms 18:45:41.041 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=r5oh1ZT9rWo --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/10/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/80/8a/808a50e6cf20854332ab6967e56fdc41c897a051c9079858f6a18e45c0aea834.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:45:41.042 [debug] QUERY OK db=0.1ms idle=1048.0ms begin [] 18:45:41.042 [debug] QUERY OK source="media_items" db=0.4ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/UnpragmaticCovers/2026-05-26 Wait and Bleed - Slipknot but it's the OldSchool RuneScape soundfont/Wait and Bleed - Slipknot but it's the OldSchool RuneScape soundfont [r5oh1ZT9rWo].mp4", "/downloads/UnpragmaticCovers/2026-05-26 Wait and Bleed - Slipknot but it's the OldSchool RuneScape soundfont/Wait and Bleed - Slipknot but it's the OldSchool RuneScape soundfont [r5oh1ZT9rWo]-thumb.jpg", ~U[2026-06-27 16:45:36Z], ~U[2026-06-27 16:45:41Z], 10] 18:45:41.080 [debug] QUERY OK source="media_metadata" db=37.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/10/metadata.json.gz", "/config/metadata/media_items/10/thumbnail.jpg", 10, ~U[2026-06-27 16:45:41Z], ~U[2026-06-27 16:45:41Z]] 18:45:41.081 [debug] QUERY OK db=0.8ms commit [] 18:45:41.082 [debug] QUERY OK source="media_items" db=0.5ms idle=225.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [4118811, ~U[2026-06-27 16:45:41Z], 10] 18:45:41.082 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:45:41.083 [info] {"args":{"id":10},"id":13,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":16517113,"event":"job:stop","queue_time":105564629,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:45:41.084 [debug] QUERY OK source="tasks" db=0.5ms idle=90.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"] 18:45:41.086 [debug] QUERY OK source="sources" db=0.6ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:45:41.086 [debug] QUERY OK source="media_items" db=0.6ms idle=91.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" = ?) [9] 18:45:41.091 [info] {"args":{"id":11},"id":14,"meta":{},"system_time":1782578741090975337,"max_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:45:41.092 [debug] QUERY OK source="media_items" db=0.7ms idle=7.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11] 18:45:41.092 [debug] QUERY OK source="tasks" db=0.9ms idle=6.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"] 18:45:41.092 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:45:41.094 [debug] QUERY OK source="sources" db=0.8ms idle=7.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:45:41.094 [debug] QUERY OK source="sources" db=1.1ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:45:41.094 [debug] QUERY OK source="media_items" db=1.0ms idle=2.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [9, 11] 18:45:41.095 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:45:41.096 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11] 18:45:41.098 [debug] QUERY OK source="media_metadata" db=0.2ms idle=4.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11] 18:45:41.099 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 18:45:41.100 [debug] QUERY OK source="settings" db=0.4ms 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 [] 18:45:41.100 [debug] QUERY OK source="settings" db=0.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 [] 18:45:41.102 [debug] Running yt-dlp command for action: get_downloadable_status 18:45:41.103 [debug] QUERY OK source="settings" db=0.2ms 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 [] 18:45:41.103 [debug] QUERY OK source="settings" db=0.1ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:45:41.104 [debug] QUERY OK source="settings" db=0.3ms 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 [] 18:45:41.104 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=yIYruarYMCg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8f/2b/8f2b430bdcd430adfa5ba62387b642f269dcce4c76d8eeefc7fac23faf4691c1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:45:41.322 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=yq47_9etfGw\n\nArtwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 296, "filename" => "/downloads/UnpragmaticCovers/2026-01-25 MILK - Brockhampton but it's the OldSchool RuneScape soundfont/MILK - Brockhampton but it's the OldSchool RuneScape soundfont [PRN1J_QVQEU].mp4", "id" => "PRN1J_QVQEU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=PRN1J_QVQEU", "playlist_index" => 47, "timestamp" => 1769353245, "title" => "MILK - Brockhampton but it's the OldSchool RuneScape soundfont", "upload_date" => "20260125"} 18:45:41.323 [debug] QUERY OK source="sources" db=0.3ms idle=222.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:45:41.324 [debug] QUERY OK source="sources" db=0.3ms idle=222.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:45:41.324 [debug] QUERY OK source="media_items" db=0.4ms idle=220.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-25 15:00:45Z], 1] 18:45:41.326 [debug] QUERY OK source="media_items" db=0.7ms idle=221.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=yq47_9etfGw\n\nArtwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "MILK - Brockhampton but it's the OldSchool RuneScape soundfont", "b0dab207-973d-4330-9888-9945a109f6bf", "PRN1J_QVQEU", false, "https://www.youtube.com/watch?v=PRN1J_QVQEU", 1, [], 296, false, 47, "/downloads/UnpragmaticCovers/2026-01-25 MILK - Brockhampton but it's the OldSchool RuneScape soundfont/MILK - Brockhampton but it's the OldSchool RuneScape soundfont [PRN1J_QVQEU].mp4", false, false, 99, ~U[2026-01-25 15:00:45Z], ~U[2026-06-27 16:45:41Z], ~U[2026-06-27 16:45:41Z], "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=yq47_9etfGw\n\nArtwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "MILK - Brockhampton but it's the OldSchool RuneScape soundfont", "PRN1J_QVQEU", "https://www.youtube.com/watch?v=PRN1J_QVQEU", 1, 296, false, "/downloads/UnpragmaticCovers/2026-01-25 MILK - Brockhampton but it's the OldSchool RuneScape soundfont/MILK - Brockhampton but it's the OldSchool RuneScape soundfont [PRN1J_QVQEU].mp4", false, ~U[2026-01-25 15:00:45Z]] 18:45:41.326 [debug] QUERY OK source="sources" db=0.5ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:45:41.327 [debug] QUERY OK source="media_profiles" db=0.6ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:45:41.328 [debug] QUERY OK source="media_items" db=0.7ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [47] 18:45:41.328 [info] Kicking off download for media item #47 (PRN1J_QVQEU) 18:45:41.330 [debug] QUERY OK source="tasks" db=0.1ms idle=3.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [50, 47, ~U[2026-06-27 16:45:41Z], ~U[2026-06-27 16:45:41Z]] 18:45:41.330 [debug] Current batch of media processed. Will check again in 1000ms 18:45:42.332 [debug] Current batch of media processed. Will check again in 1000ms 18:45:43.333 [debug] Current batch of media processed. Will check again in 1000ms 18:45:44.017 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=VqSXZyC4ciI --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/9/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ae/af/aeaf9aca23adc459160328a96505d5faaed9a0ef5847ef73e80ea976b748282c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:45:44.017 [debug] QUERY OK db=0.1ms idle=1023.6ms begin [] 18:45:44.018 [debug] QUERY OK source="media_items" db=0.4ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/UnpragmaticCovers/2026-05-29 Gangsta's Paradise - Coolio but it's the OldSchool RuneScape soundfont/Gangsta's Paradise - Coolio but it's the OldSchool RuneScape soundfont [VqSXZyC4ciI].mp4", "/downloads/UnpragmaticCovers/2026-05-29 Gangsta's Paradise - Coolio but it's the OldSchool RuneScape soundfont/Gangsta's Paradise - Coolio but it's the OldSchool RuneScape soundfont [VqSXZyC4ciI]-thumb.jpg", ~U[2026-06-27 16:45:39Z], ~U[2026-06-27 16:45:44Z], 9] 18:45:44.018 [debug] QUERY OK source="media_metadata" db=0.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/9/metadata.json.gz", "/config/metadata/media_items/9/thumbnail.jpg", 9, ~U[2026-06-27 16:45:44Z], ~U[2026-06-27 16:45:44Z]] 18:45:44.051 [debug] QUERY OK db=32.6ms commit [] 18:45:44.052 [debug] QUERY OK source="media_items" db=0.5ms idle=1057.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [7402707, ~U[2026-06-27 16:45:44Z], 9] 18:45:44.052 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:45:44.052 [info] {"args":{"id":9},"id":12,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":28221509,"event":"job:stop","queue_time":99826532,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:45:44.053 [debug] QUERY OK source="tasks" db=0.4ms idle=1059.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"] 18:45:44.054 [debug] QUERY OK source="sources" db=0.4ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:45:44.054 [debug] QUERY OK source="media_items" db=0.4ms idle=191.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" = ?) [11] 18:45:44.059 [info] {"args":{"id":12},"id":15,"meta":{},"system_time":1782578744059402486,"max_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:45:44.060 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=6.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12] 18:45:44.060 [debug] QUERY OK source="tasks" db=0.9ms idle=6.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"] 18:45:44.061 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:45:44.061 [debug] QUERY OK source="sources" db=0.3ms idle=6.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:45:44.062 [debug] QUERY OK source="sources" db=0.7ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:45:44.062 [debug] QUERY OK source="media_items" db=0.8ms idle=2.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [11, 12] 18:45:44.062 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:45:44.063 [debug] QUERY OK source="media_items" db=0.7ms idle=1.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12] 18:45:44.064 [debug] QUERY OK source="media_metadata" db=0.2ms idle=3.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [12] 18:45:44.065 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:45:44.066 [debug] QUERY OK source="settings" db=0.8ms 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 [] 18:45:44.067 [debug] QUERY OK source="settings" db=0.1ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:45:44.067 [debug] Running yt-dlp command for action: get_downloadable_status 18:45:44.068 [debug] QUERY OK source="settings" db=0.1ms idle=4.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:45:44.068 [debug] QUERY OK source="settings" db=0.1ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:45:44.069 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:45:44.069 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TBueoWRQCBQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8f/71/8f710196be5a8ac8764526ad2b93b53596b199fd72f05238125d1555a9d80aac.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:45:44.334 [debug] Current batch of media processed. Will check again in 1000ms 18:45:45.336 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 226, "filename" => "/downloads/UnpragmaticCovers/2026-01-23 Womanizer - Britney Spears but it's the OldSchool RuneScape soundfont/Womanizer - Britney Spears but it's the OldSchool RuneScape soundfont [rABIelJW_G0].mp4", "id" => "rABIelJW_G0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rABIelJW_G0", "playlist_index" => 48, "timestamp" => 1769180496, "title" => "Womanizer - Britney Spears but it's the OldSchool RuneScape soundfont", "upload_date" => "20260123"} 18:45:45.336 [debug] QUERY OK source="sources" db=0.3ms idle=1269.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:45:45.337 [debug] QUERY OK source="sources" db=0.2ms idle=1268.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:45:45.338 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=1268.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-23 15:01:36Z], 1] 18:45:45.372 [debug] QUERY OK source="media_items" db=33.4ms idle=1269.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Womanizer - Britney Spears but it's the OldSchool RuneScape soundfont", "e0e7ab21-c663-4d67-b132-693b340640f6", "rABIelJW_G0", false, "https://www.youtube.com/watch?v=rABIelJW_G0", 1, [], 226, false, 48, "/downloads/UnpragmaticCovers/2026-01-23 Womanizer - Britney Spears but it's the OldSchool RuneScape soundfont/Womanizer - Britney Spears but it's the OldSchool RuneScape soundfont [rABIelJW_G0].mp4", false, false, 99, ~U[2026-01-23 15:01:36Z], ~U[2026-06-27 16:45:45Z], ~U[2026-06-27 16:45:45Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Womanizer - Britney Spears but it's the OldSchool RuneScape soundfont", "rABIelJW_G0", "https://www.youtube.com/watch?v=rABIelJW_G0", 1, 226, false, "/downloads/UnpragmaticCovers/2026-01-23 Womanizer - Britney Spears but it's the OldSchool RuneScape soundfont/Womanizer - Britney Spears but it's the OldSchool RuneScape soundfont [rABIelJW_G0].mp4", false, ~U[2026-01-23 15:01:36Z]] 18:45:45.373 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=509.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:45:45.374 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=37.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:45.375 [debug] QUERY OK source="media_items" db=0.5ms idle=37.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [48] 18:45:45.376 [info] Kicking off download for media item #48 (rABIelJW_G0) 18:45:45.379 [debug] QUERY OK source="tasks" db=0.2ms queue=0.1ms idle=5.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [51, 48, ~U[2026-06-27 16:45:45Z], ~U[2026-06-27 16:45:45Z]] 18:45:45.379 [debug] Current batch of media processed. Will check again in 1000ms 18:45:46.379 [debug] Current batch of media processed. Will check again in 1000ms 18:45:47.381 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 169, "filename" => "/downloads/UnpragmaticCovers/2026-01-20 Octopus's Garden - The Beatles but it's the OldSchool RuneScape soundfont/Octopus's Garden - The Beatles but it's the OldSchool RuneScape soundfont [DGyxF7XW2E0].mp4", "id" => "DGyxF7XW2E0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DGyxF7XW2E0", "playlist_index" => 49, "timestamp" => 1768921223, "title" => "Octopus's Garden - The Beatles but it's the OldSchool RuneScape soundfont", "upload_date" => "20260120"} 18:45:47.382 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=514.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:45:47.384 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=389.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:45:47.385 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=390.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-20 15:00:23Z], 1] 18:45:47.419 [debug] QUERY OK source="media_items" db=33.7ms idle=391.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Octopus's Garden - The Beatles but it's the OldSchool RuneScape soundfont", "c4c8dbd1-102a-4e12-9c94-b28393419a50", "DGyxF7XW2E0", false, "https://www.youtube.com/watch?v=DGyxF7XW2E0", 1, [], 169, false, 49, "/downloads/UnpragmaticCovers/2026-01-20 Octopus's Garden - The Beatles but it's the OldSchool RuneScape soundfont/Octopus's Garden - The Beatles but it's the OldSchool RuneScape soundfont [DGyxF7XW2E0].mp4", false, false, 99, ~U[2026-01-20 15:00:23Z], ~U[2026-06-27 16:45:47Z], ~U[2026-06-27 16:45:47Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Octopus's Garden - The Beatles but it's the OldSchool RuneScape soundfont", "DGyxF7XW2E0", "https://www.youtube.com/watch?v=DGyxF7XW2E0", 1, 169, false, "/downloads/UnpragmaticCovers/2026-01-20 Octopus's Garden - The Beatles but it's the OldSchool RuneScape soundfont/Octopus's Garden - The Beatles but it's the OldSchool RuneScape soundfont [DGyxF7XW2E0].mp4", false, ~U[2026-01-20 15:00:23Z]] 18:45:47.420 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=426.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:47.421 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=38.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:45:47.422 [debug] QUERY OK source="media_items" db=0.4ms idle=38.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 [49] 18:45:47.422 [info] Kicking off download for media item #49 (DGyxF7XW2E0) 18:45:47.425 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=4.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [52, 49, ~U[2026-06-27 16:45:47Z], ~U[2026-06-27 16:45:47Z]] 18:45:47.425 [debug] Current batch of media processed. Will check again in 1000ms 18:45:47.574 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:47.665 [notice] :alarm_handler: {:set, {:system_memory_high_watermark, []}} 18:45:48.426 [debug] Current batch of media processed. Will check again in 1000ms 18:45:49.427 [debug] Current batch of media processed. Will check again in 1000ms 18:45:50.428 [debug] Current batch of media processed. Will check again in 1000ms 18:45:51.429 [debug] Current batch of media processed. Will check again in 1000ms 18:45:52.430 [debug] Current batch of media processed. Will check again in 1000ms 18:45:52.669 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=yIYruarYMCg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8f/2b/8f2b430bdcd430adfa5ba62387b642f269dcce4c76d8eeefc7fac23faf4691c1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:45:52.669 [debug] Running yt-dlp command for action: download 18:45:52.670 [debug] QUERY OK source="settings" db=0.2ms idle=1676.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:52.671 [debug] QUERY OK source="settings" db=0.3ms idle=1676.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:52.671 [debug] QUERY OK source="settings" db=0.2ms 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:45:52.671 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=yIYruarYMCg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/07/8c/078c27b27bdb9eacd3b94bbb0924994eb715dee8319c0ee271555302451ef270.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:45:53.431 [debug] Current batch of media processed. Will check again in 1000ms 18:45:54.433 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "It was incredible seeing Nine Inch Nails live a few months back. Of all of the songs, this one hurt my neck the most! \n- Sam\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 355, "filename" => "/downloads/UnpragmaticCovers/2026-01-18 Reptile - Nine Inch Nails but it's the OldSchool RuneScape soundfont/Reptile - Nine Inch Nails but it's the OldSchool RuneScape soundfont [P-AfcGsh7To].mp4", "id" => "P-AfcGsh7To", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=P-AfcGsh7To", "playlist_index" => 50, "timestamp" => 1768748449, "title" => "Reptile - Nine Inch Nails but it's the OldSchool RuneScape soundfont", "upload_date" => "20260118"} 18:45:54.435 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=545.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:45:54.437 [debug] QUERY OK source="sources" db=0.5ms queue=1.0ms idle=442.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:45:54.438 [debug] QUERY OK source="media_items" db=0.8ms idle=444.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-18 15:00:49Z], 1] 18:45:54.473 [debug] QUERY OK source="media_items" db=33.7ms idle=445.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["It was incredible seeing Nine Inch Nails live a few months back. Of all of the songs, this one hurt my neck the most! \n- Sam\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Reptile - Nine Inch Nails but it's the OldSchool RuneScape soundfont", "8813ff1e-f3b2-4fda-bcfe-42266d775dd8", "P-AfcGsh7To", false, "https://www.youtube.com/watch?v=P-AfcGsh7To", 1, [], 355, false, 50, "/downloads/UnpragmaticCovers/2026-01-18 Reptile - Nine Inch Nails but it's the OldSchool RuneScape soundfont/Reptile - Nine Inch Nails but it's the OldSchool RuneScape soundfont [P-AfcGsh7To].mp4", false, false, 99, ~U[2026-01-18 15:00:49Z], ~U[2026-06-27 16:45:54Z], ~U[2026-06-27 16:45:54Z], "It was incredible seeing Nine Inch Nails live a few months back. Of all of the songs, this one hurt my neck the most! \n- Sam\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Reptile - Nine Inch Nails but it's the OldSchool RuneScape soundfont", "P-AfcGsh7To", "https://www.youtube.com/watch?v=P-AfcGsh7To", 1, 355, false, "/downloads/UnpragmaticCovers/2026-01-18 Reptile - Nine Inch Nails but it's the OldSchool RuneScape soundfont/Reptile - Nine Inch Nails but it's the OldSchool RuneScape soundfont [P-AfcGsh7To].mp4", false, ~U[2026-01-18 15:00:49Z]] 18:45:54.475 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=480.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:45:54.476 [debug] QUERY OK source="media_profiles" db=0.9ms idle=40.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:45:54.477 [debug] QUERY OK source="media_items" db=0.4ms idle=39.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 [50] 18:45:54.478 [info] Kicking off download for media item #50 (P-AfcGsh7To) 18:45:54.480 [debug] QUERY OK source="tasks" db=0.2ms idle=4.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [53, 50, ~U[2026-06-27 16:45:54Z], ~U[2026-06-27 16:45:54Z]] 18:45:54.480 [debug] Current batch of media processed. Will check again in 1000ms 18:45:55.481 [debug] Current batch of media processed. Will check again in 1000ms 18:45:56.293 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TBueoWRQCBQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8f/71/8f710196be5a8ac8764526ad2b93b53596b199fd72f05238125d1555a9d80aac.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:45:56.293 [debug] Running yt-dlp command for action: download 18:45:56.295 [debug] QUERY OK source="settings" db=1.8ms idle=400.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:56.295 [debug] QUERY OK source="settings" db=0.2ms idle=301.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:45:56.296 [debug] QUERY OK source="settings" db=0.4ms idle=302.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:56.296 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TBueoWRQCBQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/36/e7/36e76d87dc5b34273cd1ff4a0981c9b72e0df9ca0ced802fdc182cda8f11577b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:45:56.482 [debug] Current batch of media processed. Will check again in 1000ms 18:45:57.484 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=zv1SwnccOGc\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 226, "filename" => "/downloads/UnpragmaticCovers/2026-01-16 We Like to Party - Vengaboys but it's the OldSchool RuneScape soundfont/We Like to Party - Vengaboys but it's the OldSchool RuneScape soundfont [8yWobXAMFSI].mp4", "id" => "8yWobXAMFSI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8yWobXAMFSI", "playlist_index" => 51, "timestamp" => 1768575613, "title" => "We Like to Party - Vengaboys but it's the OldSchool RuneScape soundfont", "upload_date" => "20260116"} 18:45:57.485 [debug] QUERY OK source="sources" db=0.7ms idle=1491.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:45:57.487 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1191.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:45:57.488 [debug] QUERY OK source="media_items" db=0.7ms queue=0.5ms idle=1191.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-16 15:00:13Z], 1] 18:45:57.491 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=1193.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=zv1SwnccOGc\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "We Like to Party - Vengaboys but it's the OldSchool RuneScape soundfont", "6224e3ca-aa2b-4738-806a-025b470dd7e0", "8yWobXAMFSI", false, "https://www.youtube.com/watch?v=8yWobXAMFSI", 1, [], 226, false, 51, "/downloads/UnpragmaticCovers/2026-01-16 We Like to Party - Vengaboys but it's the OldSchool RuneScape soundfont/We Like to Party - Vengaboys but it's the OldSchool RuneScape soundfont [8yWobXAMFSI].mp4", false, false, 99, ~U[2026-01-16 15:00:13Z], ~U[2026-06-27 16:45:57Z], ~U[2026-06-27 16:45:57Z], "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=zv1SwnccOGc\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "We Like to Party - Vengaboys but it's the OldSchool RuneScape soundfont", "8yWobXAMFSI", "https://www.youtube.com/watch?v=8yWobXAMFSI", 1, 226, false, "/downloads/UnpragmaticCovers/2026-01-16 We Like to Party - Vengaboys but it's the OldSchool RuneScape soundfont/We Like to Party - Vengaboys but it's the OldSchool RuneScape soundfont [8yWobXAMFSI].mp4", false, ~U[2026-01-16 15:00:13Z]] 18:45:57.493 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=598.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:57.494 [debug] QUERY OK source="media_profiles" db=0.9ms 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] 18:45:57.496 [debug] QUERY OK source="media_items" db=1.0ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [51] 18:45:57.496 [info] Kicking off download for media item #51 (8yWobXAMFSI) 18:45:57.533 [debug] QUERY OK source="tasks" db=33.0ms queue=0.1ms idle=6.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [54, 51, ~U[2026-06-27 16:45:57Z], ~U[2026-06-27 16:45:57Z]] 18:45:57.533 [debug] Current batch of media processed. Will check again in 1000ms 18:45:58.534 [debug] Current batch of media processed. Will check again in 1000ms 18:45:59.536 [debug] Current batch of media processed. Will check again in 1000ms 18:46:00.538 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "My favourite Muse song!\n- Sam\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 256, "filename" => "/downloads/UnpragmaticCovers/2026-01-13 Map of the Problematique - Muse but it's the OldSchool RuneScape soundfont/Map of the Problematique - Muse but it's the OldSchool RuneScape soundfont [t-J-S3PXg3I].mp4", "id" => "t-J-S3PXg3I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=t-J-S3PXg3I", "playlist_index" => 52, "timestamp" => 1768316511, "title" => "Map of the Problematique - Muse but it's the OldSchool RuneScape soundfont", "upload_date" => "20260113"} 18:46:00.543 [debug] QUERY OK source="sources" db=5.1ms queue=0.1ms idle=1544.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:46:00.547 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1552.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:46:00.548 [debug] QUERY OK source="media_items" db=0.2ms idle=1554.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-13 15:01:51Z], 1] 18:46:00.582 [debug] QUERY OK source="media_items" db=33.7ms idle=1554.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["My favourite Muse song!\n- Sam\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Map of the Problematique - Muse but it's the OldSchool RuneScape soundfont", "7cba71d6-15b3-47b5-a0c0-069f653eade7", "t-J-S3PXg3I", false, "https://www.youtube.com/watch?v=t-J-S3PXg3I", 1, [], 256, false, 52, "/downloads/UnpragmaticCovers/2026-01-13 Map of the Problematique - Muse but it's the OldSchool RuneScape soundfont/Map of the Problematique - Muse but it's the OldSchool RuneScape soundfont [t-J-S3PXg3I].mp4", false, false, 99, ~U[2026-01-13 15:01:51Z], ~U[2026-06-27 16:46:00Z], ~U[2026-06-27 16:46:00Z], "My favourite Muse song!\n- Sam\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Map of the Problematique - Muse but it's the OldSchool RuneScape soundfont", "t-J-S3PXg3I", "https://www.youtube.com/watch?v=t-J-S3PXg3I", 1, 256, false, "/downloads/UnpragmaticCovers/2026-01-13 Map of the Problematique - Muse but it's the OldSchool RuneScape soundfont/Map of the Problematique - Muse but it's the OldSchool RuneScape soundfont [t-J-S3PXg3I].mp4", false, ~U[2026-01-13 15:01:51Z]] 18:46:00.584 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=682.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:46:00.586 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.1ms idle=40.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:46:00.587 [debug] QUERY OK source="media_items" db=0.4ms idle=39.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 [52] 18:46:00.587 [info] Kicking off download for media item #52 (t-J-S3PXg3I) 18:46:00.590 [debug] QUERY OK source="tasks" db=0.3ms idle=5.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [55, 52, ~U[2026-06-27 16:46:00Z], ~U[2026-06-27 16:46:00Z]] 18:46:00.590 [debug] Current batch of media processed. Will check again in 1000ms 18:46:00.651 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:46:01.591 [debug] Current batch of media processed. Will check again in 1000ms 18:46:02.592 [debug] Current batch of media processed. Will check again in 1000ms 18:46:03.594 [debug] Current batch of media processed. Will check again in 1000ms 18:46:04.594 [debug] Current batch of media processed. Will check again in 1000ms 18:46:05.595 [debug] Current batch of media processed. Will check again in 1000ms 18:46:06.596 [debug] Current batch of media processed. Will check again in 1000ms 18:46:07.437 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=yIYruarYMCg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/07/8c/078c27b27bdb9eacd3b94bbb0924994eb715dee8319c0ee271555302451ef270.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:46:07.460 [debug] Running yt-dlp command for action: download_thumbnail 18:46:07.462 [debug] QUERY OK source="settings" db=0.1ms idle=1468.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:07.462 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1468.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:07.463 [debug] QUERY OK source="settings" db=0.3ms idle=1469.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:07.463 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=yIYruarYMCg --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/11/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/79/e2/79e234d938befb6faf773d86bd2cb46febe336fcb1d7ae2fe68b33044ee1119b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:46:07.597 [debug] Current batch of media processed. Will check again in 1000ms 18:46:07.926 [info] GET /sources/1/media/12 18:46:07.926 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12", "source_id" => "1"} Pipelines: [:browser] 18:46:07.927 [debug] QUERY OK source="media_items" db=0.4ms idle=1008.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12] 18:46:07.928 [debug] QUERY OK source="tasks" db=0.4ms idle=466.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" [12] 18:46:07.929 [debug] QUERY OK source="sources" db=0.5ms idle=465.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:46:07.929 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=466.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" = ?) [15] 18:46:07.930 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=9.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:46:07.931 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:46:07.931 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:46:07.932 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:46:07.934 [info] Sent 200 in 7ms 18:46:08.008 [info] CONNECTED TO Phoenix.LiveView.Socket in 39µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "AAUXRxI_CC05IBsDEkN9fREKJCYxeTFYcfSqezelpVKmKq65PSC_T0v9", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:46:08.015 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:46:08.015 [debug] Replied in 123µs 18:46:08.567 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TBueoWRQCBQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/36/e7/36e76d87dc5b34273cd1ff4a0981c9b72e0df9ca0ced802fdc182cda8f11577b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:46:08.593 [debug] Running yt-dlp command for action: download_thumbnail 18:46:08.596 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=666.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.597 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=666.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.597 [debug] QUERY OK source="settings" db=0.3ms idle=666.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.598 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TBueoWRQCBQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/12/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/02/97/0297ac56e4c7a848a9d235acd22589f7586382a95419d01e5fcb1897298238df.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:46:08.599 [debug] Current batch of media processed. Will check again in 1000ms 18:46:09.601 [debug] Current batch of media processed. Will check again in 1000ms 18:46:10.603 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=6N3pzwIfHxo\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 294, "filename" => "/downloads/UnpragmaticCovers/2026-01-11 Lux Aeterna (Requiem for a Dream) but it's the OldSchool RuneScape soundfont/Lux Aeterna (Requiem for a Dream) but it's the OldSchool RuneScape soundfont [zbKrwbzpUeg].mp4", "id" => "zbKrwbzpUeg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zbKrwbzpUeg", "playlist_index" => 53, "timestamp" => 1768143717, "title" => "Lux Aeterna (Requiem for a Dream) but it's the OldSchool RuneScape soundfont", "upload_date" => "20260111"} 18:46:10.604 [debug] QUERY OK source="sources" db=0.9ms idle=1609.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:46:10.605 [debug] QUERY OK source="sources" db=0.3ms idle=678.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:46:10.605 [debug] QUERY OK source="media_items" db=0.4ms idle=611.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-11 15:01:57Z], 1] 18:46:10.606 [debug] QUERY OK source="media_items" db=0.6ms idle=612.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=6N3pzwIfHxo\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Lux Aeterna (Requiem for a Dream) but it's the OldSchool RuneScape soundfont", "048f794d-c172-4a5f-b6ac-9a5dec758b15", "zbKrwbzpUeg", false, "https://www.youtube.com/watch?v=zbKrwbzpUeg", 1, [], 294, false, 53, "/downloads/UnpragmaticCovers/2026-01-11 Lux Aeterna (Requiem for a Dream) but it's the OldSchool RuneScape soundfont/Lux Aeterna (Requiem for a Dream) but it's the OldSchool RuneScape soundfont [zbKrwbzpUeg].mp4", false, false, 99, ~U[2026-01-11 15:01:57Z], ~U[2026-06-27 16:46:10Z], ~U[2026-06-27 16:46:10Z], "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=6N3pzwIfHxo\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Lux Aeterna (Requiem for a Dream) but it's the OldSchool RuneScape soundfont", "zbKrwbzpUeg", "https://www.youtube.com/watch?v=zbKrwbzpUeg", 1, 294, false, "/downloads/UnpragmaticCovers/2026-01-11 Lux Aeterna (Requiem for a Dream) but it's the OldSchool RuneScape soundfont/Lux Aeterna (Requiem for a Dream) but it's the OldSchool RuneScape soundfont [zbKrwbzpUeg].mp4", false, ~U[2026-01-11 15:01:57Z]] 18:46:10.607 [debug] QUERY OK source="sources" db=0.5ms idle=613.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:46:10.608 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:46:10.610 [debug] QUERY OK source="media_items" db=0.5ms queue=1.4ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [53] 18:46:10.610 [info] Kicking off download for media item #53 (zbKrwbzpUeg) 18:46:10.612 [debug] QUERY OK source="tasks" db=0.1ms idle=5.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [56, 53, ~U[2026-06-27 16:46:10Z], ~U[2026-06-27 16:46:10Z]] 18:46:10.613 [debug] Current batch of media processed. Will check again in 1000ms 18:46:11.615 [debug] Current batch of media processed. Will check again in 1000ms 18:46:12.616 [debug] Current batch of media processed. Will check again in 1000ms 18:46:13.289 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TBueoWRQCBQ --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/12/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/02/97/0297ac56e4c7a848a9d235acd22589f7586382a95419d01e5fcb1897298238df.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:46:13.290 [debug] QUERY OK db=0.1ms queue=0.3ms idle=1296.4ms begin [] 18:46:13.291 [debug] QUERY OK source="media_items" db=0.6ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/UnpragmaticCovers/2026-05-18 Black Hole Sun - Soundgarden but it's the OldSchool RuneScape soundfont/Black Hole Sun - Soundgarden but it's the OldSchool RuneScape soundfont [TBueoWRQCBQ].mp4", "/downloads/UnpragmaticCovers/2026-05-18 Black Hole Sun - Soundgarden but it's the OldSchool RuneScape soundfont/Black Hole Sun - Soundgarden but it's the OldSchool RuneScape soundfont [TBueoWRQCBQ]-thumb.jpg", ~U[2026-06-27 16:46:08Z], ~U[2026-06-27 16:46:13Z], 12] 18:46:13.292 [debug] QUERY OK source="media_metadata" db=0.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/12/metadata.json.gz", "/config/metadata/media_items/12/thumbnail.jpg", 12, ~U[2026-06-27 16:46:13Z], ~U[2026-06-27 16:46:13Z]] 18:46:13.292 [debug] QUERY OK db=0.4ms commit [] 18:46:13.293 [debug] QUERY OK source="media_items" db=0.3ms idle=1299.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [9945604, ~U[2026-06-27 16:46:13Z], 12] 18:46:13.293 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:46:13.294 [info] {"args":{"id":12},"id":15,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":29234401,"event":"job:stop","queue_time":118058614,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:46:13.301 [info] {"args":{"id":13},"id":16,"meta":{},"system_time":1782578773300828486,"max_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:46:13.301 [debug] QUERY OK source="media_items" db=0.4ms idle=369.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" = ?) [13] 18:46:13.303 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:46:13.303 [debug] QUERY OK source="sources" db=0.4ms idle=10.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:46:13.304 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.2ms idle=10.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:46:13.305 [debug] QUERY OK source="media_items" db=0.5ms idle=10.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13] 18:46:13.306 [debug] QUERY OK source="media_metadata" db=0.2ms idle=5.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" = ?) [13] 18:46:13.307 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:46:13.308 [debug] QUERY OK source="settings" db=0.2ms 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 [] 18:46:13.309 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms 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 [] 18:46:13.310 [debug] Running yt-dlp command for action: get_downloadable_status 18:46:13.312 [debug] QUERY OK source="settings" db=0.6ms idle=6.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:46:13.313 [debug] QUERY OK source="settings" db=0.7ms 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 [] 18:46:13.314 [debug] QUERY OK source="settings" db=0.1ms 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 [] 18:46:13.314 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GPjCUtMaqkM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8f/be/8fbe7d27cd9d50df1af04080f6e2c85f9dbb17e3a0545aab50f6950a3a929712.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:46:13.620 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Grind after grind\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 236, "filename" => "/downloads/UnpragmaticCovers/2026-01-09 Time After Time - Cyndi Lauper but it's the OldSchool RuneScape soundfont/Time After Time - Cyndi Lauper but it's the OldSchool RuneScape soundfont [vqm5yj9kVYg].mp4", "id" => "vqm5yj9kVYg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vqm5yj9kVYg", "playlist_index" => 54, "timestamp" => 1767970909, "title" => "Time After Time - Cyndi Lauper but it's the OldSchool RuneScape soundfont", "upload_date" => "20260109"} 18:46:13.624 [debug] QUERY OK source="sources" db=2.6ms idle=313.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:46:13.626 [debug] QUERY OK source="sources" db=0.7ms idle=316.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:46:13.627 [debug] QUERY OK source="media_items" db=0.9ms idle=313.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-09 15:01:49Z], 1] 18:46:13.662 [debug] QUERY OK source="media_items" db=34.4ms idle=313.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Grind after grind\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Time After Time - Cyndi Lauper but it's the OldSchool RuneScape soundfont", "166b9a50-807d-490b-b17e-1f18c0022790", "vqm5yj9kVYg", false, "https://www.youtube.com/watch?v=vqm5yj9kVYg", 1, [], 236, false, 54, "/downloads/UnpragmaticCovers/2026-01-09 Time After Time - Cyndi Lauper but it's the OldSchool RuneScape soundfont/Time After Time - Cyndi Lauper but it's the OldSchool RuneScape soundfont [vqm5yj9kVYg].mp4", false, false, 99, ~U[2026-01-09 15:01:49Z], ~U[2026-06-27 16:46:13Z], ~U[2026-06-27 16:46:13Z], "Grind after grind\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Time After Time - Cyndi Lauper but it's the OldSchool RuneScape soundfont", "vqm5yj9kVYg", "https://www.youtube.com/watch?v=vqm5yj9kVYg", 1, 236, false, "/downloads/UnpragmaticCovers/2026-01-09 Time After Time - Cyndi Lauper but it's the OldSchool RuneScape soundfont/Time After Time - Cyndi Lauper but it's the OldSchool RuneScape soundfont [vqm5yj9kVYg].mp4", false, ~U[2026-01-09 15:01:49Z]] 18:46:13.663 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=347.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:46:13.665 [debug] QUERY OK source="media_profiles" db=1.5ms idle=38.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:46:13.667 [debug] QUERY OK source="media_items" db=1.8ms idle=39.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 [54] 18:46:13.667 [info] Kicking off download for media item #54 (vqm5yj9kVYg) 18:46:13.673 [debug] QUERY OK source="tasks" db=0.7ms idle=9.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [57, 54, ~U[2026-06-27 16:46:13Z], ~U[2026-06-27 16:46:13Z]] 18:46:13.674 [debug] Current batch of media processed. Will check again in 1000ms 18:46:14.675 [debug] Current batch of media processed. Will check again in 1000ms 18:46:15.676 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mamma Muta\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 207, "filename" => "/downloads/UnpragmaticCovers/2026-01-06 Mamma Mia - ABBA but it's the OldSchool RuneScape soundfont/Mamma Mia - ABBA but it's the OldSchool RuneScape soundfont [ZbwIZrkVAS4].mp4", "id" => "ZbwIZrkVAS4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZbwIZrkVAS4", "playlist_index" => 55, "timestamp" => 1767711670, "title" => "Mamma Mia - ABBA but it's the OldSchool RuneScape soundfont", "upload_date" => "20260106"} 18:46:15.677 [debug] QUERY OK source="sources" db=0.3ms idle=736.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:46:15.678 [debug] QUERY OK source="sources" db=0.1ms idle=683.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:46:15.678 [debug] QUERY OK source="media_items" db=0.2ms idle=683.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-06 15:01:10Z], 1] 18:46:15.680 [debug] QUERY OK source="media_items" db=0.7ms idle=684.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mamma Muta\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Mamma Mia - ABBA but it's the OldSchool RuneScape soundfont", "4800f52b-30fb-4f29-8e23-3863989e6c67", "ZbwIZrkVAS4", false, "https://www.youtube.com/watch?v=ZbwIZrkVAS4", 1, [], 207, false, 55, "/downloads/UnpragmaticCovers/2026-01-06 Mamma Mia - ABBA but it's the OldSchool RuneScape soundfont/Mamma Mia - ABBA but it's the OldSchool RuneScape soundfont [ZbwIZrkVAS4].mp4", false, false, 99, ~U[2026-01-06 15:01:10Z], ~U[2026-06-27 16:46:15Z], ~U[2026-06-27 16:46:15Z], "Mamma Muta\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Mamma Mia - ABBA but it's the OldSchool RuneScape soundfont", "ZbwIZrkVAS4", "https://www.youtube.com/watch?v=ZbwIZrkVAS4", 1, 207, false, "/downloads/UnpragmaticCovers/2026-01-06 Mamma Mia - ABBA but it's the OldSchool RuneScape soundfont/Mamma Mia - ABBA but it's the OldSchool RuneScape soundfont [ZbwIZrkVAS4].mp4", false, ~U[2026-01-06 15:01:10Z]] 18:46:15.680 [debug] QUERY OK source="sources" db=0.3ms idle=685.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:46:15.681 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:46:15.681 [debug] QUERY OK source="media_items" db=0.2ms idle=3.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [55] 18:46:15.681 [info] Kicking off download for media item #55 (ZbwIZrkVAS4) 18:46:15.684 [debug] QUERY OK source="tasks" db=0.1ms idle=4.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [58, 55, ~U[2026-06-27 16:46:15Z], ~U[2026-06-27 16:46:15Z]] 18:46:15.685 [debug] Current batch of media processed. Will check again in 1000ms 18:46:16.685 [debug] Current batch of media processed. Will check again in 1000ms 18:46:17.577 [info] {"source":"oban","duration":1524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:17.686 [debug] Current batch of media processed. Will check again in 1000ms 18:46:18.687 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=vOd5BdpGCGI\n\nArtwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 257, "filename" => "/downloads/UnpragmaticCovers/2026-01-04 Send Me On My Way - Rusted Root but it's the OldSchool RuneScape soundfont/Send Me On My Way - Rusted Root but it's the OldSchool RuneScape soundfont [R5RNkf7XlFc].mp4", "id" => "R5RNkf7XlFc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=R5RNkf7XlFc", "playlist_index" => 56, "timestamp" => 1767538847, "title" => "Send Me On My Way - Rusted Root but it's the OldSchool RuneScape soundfont", "upload_date" => "20260104"} 18:46:18.689 [debug] QUERY OK source="sources" db=1.1ms idle=1693.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:46:18.690 [debug] QUERY OK source="sources" db=0.8ms idle=1694.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:46:18.691 [debug] QUERY OK source="media_items" db=1.0ms idle=1695.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-04 15:00:47Z], 1] 18:46:18.693 [debug] QUERY OK source="media_items" db=1.0ms idle=1114.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=vOd5BdpGCGI\n\nArtwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Send Me On My Way - Rusted Root but it's the OldSchool RuneScape soundfont", "dae7e8b1-9aa3-4f41-802d-bce3fb6e3be4", "R5RNkf7XlFc", false, "https://www.youtube.com/watch?v=R5RNkf7XlFc", 1, [], 257, false, 56, "/downloads/UnpragmaticCovers/2026-01-04 Send Me On My Way - Rusted Root but it's the OldSchool RuneScape soundfont/Send Me On My Way - Rusted Root but it's the OldSchool RuneScape soundfont [R5RNkf7XlFc].mp4", false, false, 99, ~U[2026-01-04 15:00:47Z], ~U[2026-06-27 16:46:18Z], ~U[2026-06-27 16:46:18Z], "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=vOd5BdpGCGI\n\nArtwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Send Me On My Way - Rusted Root but it's the OldSchool RuneScape soundfont", "R5RNkf7XlFc", "https://www.youtube.com/watch?v=R5RNkf7XlFc", 1, 257, false, "/downloads/UnpragmaticCovers/2026-01-04 Send Me On My Way - Rusted Root but it's the OldSchool RuneScape soundfont/Send Me On My Way - Rusted Root but it's the OldSchool RuneScape soundfont [R5RNkf7XlFc].mp4", false, ~U[2026-01-04 15:00:47Z]] 18:46:18.694 [debug] QUERY OK source="sources" db=0.4ms idle=747.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:46:18.695 [debug] QUERY OK source="media_profiles" db=0.9ms idle=4.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:46:18.696 [debug] QUERY OK source="media_items" db=0.7ms idle=4.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [56] 18:46:18.696 [info] Kicking off download for media item #56 (R5RNkf7XlFc) 18:46:18.733 [debug] QUERY OK source="tasks" db=0.3ms idle=38.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [59, 56, ~U[2026-06-27 16:46:18Z], ~U[2026-06-27 16:46:18Z]] 18:46:18.733 [debug] Current batch of media processed. Will check again in 1000ms 18:46:19.734 [debug] Current batch of media processed. Will check again in 1000ms 18:46:20.031 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=yIYruarYMCg --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/11/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/79/e2/79e234d938befb6faf773d86bd2cb46febe336fcb1d7ae2fe68b33044ee1119b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:46:20.032 [debug] QUERY OK db=0.2ms idle=78.5ms begin [] 18:46:20.034 [debug] QUERY OK source="media_items" db=1.4ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/UnpragmaticCovers/2026-05-22 Bela Lugosi's Dead - Bauhaus but it's the OldSchool RuneScape soundfont/Bela Lugosi's Dead - Bauhaus but it's the OldSchool RuneScape soundfont [yIYruarYMCg].mp4", "/downloads/UnpragmaticCovers/2026-05-22 Bela Lugosi's Dead - Bauhaus but it's the OldSchool RuneScape soundfont/Bela Lugosi's Dead - Bauhaus but it's the OldSchool RuneScape soundfont [yIYruarYMCg]-thumb.jpg", ~U[2026-06-27 16:46:07Z], ~U[2026-06-27 16:46:20Z], 11] 18:46:20.036 [debug] QUERY OK source="media_metadata" db=2.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/11/metadata.json.gz", "/config/metadata/media_items/11/thumbnail.jpg", 11, ~U[2026-06-27 16:46:20Z], ~U[2026-06-27 16:46:20Z]] 18:46:20.037 [debug] QUERY OK db=0.4ms commit [] 18:46:20.071 [debug] QUERY OK source="media_items" db=33.8ms idle=43.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [13283043, ~U[2026-06-27 16:46:20Z], 11] 18:46:20.073 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:46:20.074 [info] {"args":{"id":11},"id":14,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":38982442,"event":"job:stop","queue_time":118089749,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:46:20.085 [info] {"args":{"id":14},"id":17,"meta":{},"system_time":1782578780085328136,"max_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:46:20.089 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=91.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" = ?) [14] 18:46:20.089 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:46:20.093 [debug] QUERY OK source="sources" db=2.7ms queue=0.9ms idle=52.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:46:20.095 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.3ms idle=22.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:46:20.098 [debug] QUERY OK source="media_items" db=1.0ms queue=1.5ms idle=21.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [14] 18:46:20.102 [debug] QUERY OK source="media_metadata" db=0.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" = ?) [14] 18:46:20.103 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.3ms 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] 18:46:20.105 [debug] QUERY OK source="settings" db=0.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 [] 18:46:20.105 [debug] QUERY OK source="settings" db=0.2ms idle=10.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:46:20.106 [debug] Running yt-dlp command for action: get_downloadable_status 18:46:20.107 [debug] QUERY OK source="settings" db=0.2ms 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:46:20.108 [debug] QUERY OK source="settings" db=0.3ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:46:20.108 [debug] QUERY OK source="settings" db=0.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 [] 18:46:20.109 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=BjoamIXUf_4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/64/56/64564778c40073d1d8201f8b12294c3df10915173dd868cdf2465ec5c997779f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:46:20.173 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GPjCUtMaqkM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8f/be/8fbe7d27cd9d50df1af04080f6e2c85f9dbb17e3a0545aab50f6950a3a929712.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:46:20.173 [debug] Running yt-dlp command for action: download 18:46:20.174 [debug] QUERY OK source="settings" db=0.2ms queue=0.3ms idle=68.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.175 [debug] QUERY OK source="settings" db=0.3ms idle=69.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.176 [debug] QUERY OK source="settings" db=1.1ms idle=67.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.176 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GPjCUtMaqkM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0e/55/0e55d84b91bdbe10f09a78588097a7dd0ca949356176b68947f1e98e3e3c6977.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:46:20.734 [debug] Current batch of media processed. Will check again in 1000ms 18:46:21.736 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "*STORYTIME WITH SAM*\n\nWhen I’m not making soundfont covers, I work as a music therapist. I have the privilege of utilizing music to foster meaningful experiences and connections with seniors with dementia. It is incredibly rewarding work, but it also means there are a fair share of goodbyes.\n\nI recently had to say goodbye to an incredibly sweet woman who was the personification of a golden retriever. When I walked into the room her face lit up, she _jumped_ out of her seat, ran up to me, and rested her head on my shoulders while we sang together. This wonderful connection was formed purely through music. She never learned my name. \n\nThis was one of our favourite songs to sing together. Unfortunately it meant using Country Jig as a reference track, so please excuse the juxtaposition of the goofy music and the serious description.\n\nR.I.P.\n\nYour infectious smile will never leave me.\n\nArtwork credit to Ren\nhttps://ko-fi.com/unpragmaticcovers", "duration" => 175, "filename" => "/downloads/UnpragmaticCovers/2026-01-02 Take Me Home, Country Roads but it's the OldSchool RuneScape soundfont/Take Me Home, Country Roads but it's the OldSchool RuneScape soundfont [DJAVuGSzoMU].mp4", "id" => "DJAVuGSzoMU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DJAVuGSzoMU", "playlist_index" => 57, "timestamp" => 1767366033, "title" => "Take Me Home, Country Roads but it's the OldSchool RuneScape soundfont", "upload_date" => "20260102"} 18:46:21.737 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1627.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:46:21.739 [debug] QUERY OK source="sources" db=0.7ms idle=1564.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:46:21.739 [debug] QUERY OK source="media_items" db=0.3ms idle=1564.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-02 15:00:33Z], 1] 18:46:21.742 [debug] QUERY OK source="media_items" db=1.6ms idle=1563.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["*STORYTIME WITH SAM*\n\nWhen I’m not making soundfont covers, I work as a music therapist. I have the privilege of utilizing music to foster meaningful experiences and connections with seniors with dementia. It is incredibly rewarding work, but it also means there are a fair share of goodbyes.\n\nI recently had to say goodbye to an incredibly sweet woman who was the personification of a golden retriever. When I walked into the room her face lit up, she _jumped_ out of her seat, ran up to me, and rested her head on my shoulders while we sang together. This wonderful connection was formed purely through music. She never learned my name. \n\nThis was one of our favourite songs to sing together. Unfortunately it meant using Country Jig as a reference track, so please excuse the juxtaposition of the goofy music and the serious description.\n\nR.I.P.\n\nYour infectious smile will never leave me.\n\nArtwork credit to Ren\nhttps://ko-fi.com/unpragmaticcovers", "Take Me Home, Country Roads but it's the OldSchool RuneScape soundfont", "11704759-197b-44d4-9f86-dc67f83949a4", "DJAVuGSzoMU", false, "https://www.youtube.com/watch?v=DJAVuGSzoMU", 1, [], 175, false, 57, "/downloads/UnpragmaticCovers/2026-01-02 Take Me Home, Country Roads but it's the OldSchool RuneScape soundfont/Take Me Home, Country Roads but it's the OldSchool RuneScape soundfont [DJAVuGSzoMU].mp4", false, false, 99, ~U[2026-01-02 15:00:33Z], ~U[2026-06-27 16:46:21Z], ~U[2026-06-27 16:46:21Z], "*STORYTIME WITH SAM*\n\nWhen I’m not making soundfont covers, I work as a music therapist. I have the privilege of utilizing music to foster meaningful experiences and connections with seniors with dementia. It is incredibly rewarding work, but it also means there are a fair share of goodbyes.\n\nI recently had to say goodbye to an incredibly sweet woman who was the personification of a golden retriever. When I walked into the room her face lit up, she _jumped_ out of her seat, ran up to me, and rested her head on my shoulders while we sang together. This wonderful connection was formed purely through music. She never learned my name. \n\nThis was one of our favourite songs to sing together. Unfortunately it meant using Country Jig as a reference track, so please excuse the juxtaposition of the goofy music and the serious description.\n\nR.I.P.\n\nYour infectious smile will never leave me.\n\nArtwork credit to Ren\nhttps://ko-fi.com/unpragmaticcovers", "Take Me Home, Country Roads but it's the OldSchool RuneScape soundfont", "DJAVuGSzoMU", "https://www.youtube.com/watch?v=DJAVuGSzoMU", 1, 175, false, "/downloads/UnpragmaticCovers/2026-01-02 Take Me Home, Country Roads but it's the OldSchool RuneScape soundfont/Take Me Home, Country Roads but it's the OldSchool RuneScape soundfont [DJAVuGSzoMU].mp4", false, ~U[2026-01-02 15:00:33Z]] 18:46:21.743 [debug] QUERY OK source="sources" db=0.5ms idle=786.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:46:21.744 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=6.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:46:21.745 [debug] QUERY OK source="media_items" db=0.6ms idle=5.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [57] 18:46:21.745 [info] Kicking off download for media item #57 (DJAVuGSzoMU) 18:46:21.779 [debug] QUERY OK source="tasks" db=30.7ms queue=0.1ms idle=5.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [60, 57, ~U[2026-06-27 16:46:21Z], ~U[2026-06-27 16:46:21Z]] 18:46:21.780 [debug] Current batch of media processed. Will check again in 1000ms 18:46:22.780 [debug] Current batch of media processed. Will check again in 1000ms 18:46:23.785 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "R.I.P. Stefán Karl Stefánsson\nYou were number one!\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 109, "filename" => "/downloads/UnpragmaticCovers/2025-12-30 You Are a Pirate - LazyTown but it's the OldSchool RuneScape soundfont/You Are a Pirate - LazyTown but it's the OldSchool RuneScape soundfont [JHf6Jex3ePM].mp4", "id" => "JHf6Jex3ePM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JHf6Jex3ePM", "playlist_index" => 58, "timestamp" => 1767106839, "title" => "You Are a Pirate - LazyTown but it's the OldSchool RuneScape soundfont", "upload_date" => "20251230"} 18:46:23.786 [debug] QUERY OK source="sources" db=0.2ms idle=826.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:46:23.786 [debug] QUERY OK source="sources" db=0.4ms idle=791.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:46:23.787 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=792.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-30 15:00:39Z], 1] 18:46:23.789 [debug] QUERY OK source="media_items" db=0.9ms idle=793.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["R.I.P. Stefán Karl Stefánsson\nYou were number one!\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "You Are a Pirate - LazyTown but it's the OldSchool RuneScape soundfont", "24a39902-46e6-4dab-a434-e527c8b5f0b3", "JHf6Jex3ePM", false, "https://www.youtube.com/watch?v=JHf6Jex3ePM", 1, [], 109, false, 58, "/downloads/UnpragmaticCovers/2025-12-30 You Are a Pirate - LazyTown but it's the OldSchool RuneScape soundfont/You Are a Pirate - LazyTown but it's the OldSchool RuneScape soundfont [JHf6Jex3ePM].mp4", false, false, 99, ~U[2025-12-30 15:00:39Z], ~U[2026-06-27 16:46:23Z], ~U[2026-06-27 16:46:23Z], "R.I.P. Stefán Karl Stefánsson\nYou were number one!\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "You Are a Pirate - LazyTown but it's the OldSchool RuneScape soundfont", "JHf6Jex3ePM", "https://www.youtube.com/watch?v=JHf6Jex3ePM", 1, 109, false, "/downloads/UnpragmaticCovers/2025-12-30 You Are a Pirate - LazyTown but it's the OldSchool RuneScape soundfont/You Are a Pirate - LazyTown but it's the OldSchool RuneScape soundfont [JHf6Jex3ePM].mp4", false, ~U[2025-12-30 15:00:39Z]] 18:46:23.789 [debug] QUERY OK source="sources" db=0.3ms idle=794.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:46:23.790 [debug] QUERY OK source="media_profiles" db=0.5ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:46:23.792 [debug] QUERY OK source="media_items" db=0.7ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [58] 18:46:23.792 [info] Kicking off download for media item #58 (JHf6Jex3ePM) 18:46:23.813 [debug] QUERY OK source="tasks" db=10.9ms queue=0.1ms idle=12.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [61, 58, ~U[2026-06-27 16:46:23Z], ~U[2026-06-27 16:46:23Z]] 18:46:23.813 [debug] Current batch of media processed. Will check again in 1000ms 18:46:24.814 [debug] Current batch of media processed. Will check again in 1000ms 18:46:25.427 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=BjoamIXUf_4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/64/56/64564778c40073d1d8201f8b12294c3df10915173dd868cdf2465ec5c997779f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:46:25.428 [debug] Running yt-dlp command for action: download 18:46:25.429 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=462.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.429 [debug] QUERY OK source="settings" db=0.1ms idle=434.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:46:25.429 [debug] QUERY OK source="settings" db=0.1ms idle=434.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.430 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=BjoamIXUf_4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a1/93/a193023767e069259140a17ed2d2d42facbb0befff02c53880301a5aec88d93d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:46:25.815 [debug] Current batch of media processed. Will check again in 1000ms 18:46:26.522 [info] GET /media_profiles 18:46:26.522 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 18:46:26.525 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1530.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 18:46:26.526 [debug] QUERY OK source="settings" db=0.1ms idle=1096.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.526 [debug] QUERY OK source="settings" db=0.1ms idle=1096.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.526 [debug] QUERY OK source="settings" db=0.2ms idle=1097.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.527 [info] Sent 200 in 5ms 18:46:26.606 [info] CONNECTED TO Phoenix.LiveView.Socket in 33µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "OyUdbxMSKyUfFQc0Fgo-DxY9HxwNAAJQXFYYdWFdVcWZO8uGWdxehIE1", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:46:26.611 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:46:26.611 [debug] Replied in 130µs 18:46:26.817 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=t6u8w4yQQF4\n\nArtwork credit to Ren\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 254, "filename" => "/downloads/UnpragmaticCovers/2025-12-28 Lithium - Nirvana but it's the OldSchool RuneScape soundfont/Lithium - Nirvana but it's the OldSchool RuneScape soundfont [hrywK3u_4L0].mp4", "id" => "hrywK3u_4L0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hrywK3u_4L0", "playlist_index" => 59, "timestamp" => 1766934091, "title" => "Lithium - Nirvana but it's the OldSchool RuneScape soundfont", "upload_date" => "20251228"} 18:46:26.817 [debug] QUERY OK source="sources" db=0.3ms idle=846.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:46:26.818 [debug] QUERY OK source="sources" db=0.2ms idle=292.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:46:26.819 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=292.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-28 15:01:31Z], 1] 18:46:26.826 [debug] QUERY OK source="media_items" db=6.1ms idle=293.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=t6u8w4yQQF4\n\nArtwork credit to Ren\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Lithium - Nirvana but it's the OldSchool RuneScape soundfont", "0f6dce88-6eb4-4fcf-9478-6667cdfc7d96", "hrywK3u_4L0", false, "https://www.youtube.com/watch?v=hrywK3u_4L0", 1, [], 254, false, 59, "/downloads/UnpragmaticCovers/2025-12-28 Lithium - Nirvana but it's the OldSchool RuneScape soundfont/Lithium - Nirvana but it's the OldSchool RuneScape soundfont [hrywK3u_4L0].mp4", false, false, 99, ~U[2025-12-28 15:01:31Z], ~U[2026-06-27 16:46:26Z], ~U[2026-06-27 16:46:26Z], "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=t6u8w4yQQF4\n\nArtwork credit to Ren\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Lithium - Nirvana but it's the OldSchool RuneScape soundfont", "hrywK3u_4L0", "https://www.youtube.com/watch?v=hrywK3u_4L0", 1, 254, false, "/downloads/UnpragmaticCovers/2025-12-28 Lithium - Nirvana but it's the OldSchool RuneScape soundfont/Lithium - Nirvana but it's the OldSchool RuneScape soundfont [hrywK3u_4L0].mp4", false, ~U[2025-12-28 15:01:31Z]] 18:46:26.827 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=299.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:46:26.828 [debug] QUERY OK source="media_profiles" db=0.3ms idle=10.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:46:26.829 [debug] QUERY OK source="media_items" db=0.4ms 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 [59] 18:46:26.829 [info] Kicking off download for media item #59 (hrywK3u_4L0) 18:46:26.832 [debug] QUERY OK source="tasks" db=0.3ms idle=4.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [62, 59, ~U[2026-06-27 16:46:26Z], ~U[2026-06-27 16:46:26Z]] 18:46:26.832 [debug] Current batch of media processed. Will check again in 1000ms 18:46:27.833 [debug] Current batch of media processed. Will check again in 1000ms 18:46:28.242 [info] GET /media_profiles/1/edit 18:46:28.242 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 18:46:28.245 [debug] QUERY OK source="media_profiles" db=0.5ms idle=269.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:46:28.246 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=251.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:28.247 [debug] QUERY OK source="settings" db=0.6ms 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 [] 18:46:28.248 [debug] QUERY OK source="settings" db=0.3ms idle=253.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:28.254 [info] Sent 200 in 12ms 18:46:28.331 [info] CONNECTED TO Phoenix.LiveView.Socket in 36µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "BTQGbi0RIQU7RgcmAQoAMhEWDjonJDAOfWBXZTLDr0WHX8KzPOiCBmwo", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:46:28.339 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:46:28.339 [debug] Replied in 114µs 18:46:28.834 [debug] Current batch of media processed. Will check again in 1000ms 18:46:29.836 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 324, "filename" => "/downloads/UnpragmaticCovers/2025-12-26 Hailie's Song - Eminem - but it's the OldSchool RuneScape soundfont/Hailie's Song - Eminem - but it's the OldSchool RuneScape soundfont [0ZaCwePyXYc].mp4", "id" => "0ZaCwePyXYc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0ZaCwePyXYc", "playlist_index" => 60, "timestamp" => 1766761204, "title" => "Hailie's Song - Eminem - but it's the OldSchool RuneScape soundfont", "upload_date" => "20251226"} 18:46:29.837 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1591.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:46:29.838 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1591.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:46:29.840 [debug] QUERY OK source="media_items" db=0.5ms idle=1591.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-26 15:00:04Z], 1] 18:46:29.841 [debug] QUERY OK source="media_items" db=1.0ms idle=1592.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Hailie's Song - Eminem - but it's the OldSchool RuneScape soundfont", "a7b535d0-aef4-4f55-b7e2-1b4b2b0734d4", "0ZaCwePyXYc", false, "https://www.youtube.com/watch?v=0ZaCwePyXYc", 1, [], 324, false, 60, "/downloads/UnpragmaticCovers/2025-12-26 Hailie's Song - Eminem - but it's the OldSchool RuneScape soundfont/Hailie's Song - Eminem - but it's the OldSchool RuneScape soundfont [0ZaCwePyXYc].mp4", false, false, 99, ~U[2025-12-26 15:00:04Z], ~U[2026-06-27 16:46:29Z], ~U[2026-06-27 16:46:29Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Hailie's Song - Eminem - but it's the OldSchool RuneScape soundfont", "0ZaCwePyXYc", "https://www.youtube.com/watch?v=0ZaCwePyXYc", 1, 324, false, "/downloads/UnpragmaticCovers/2025-12-26 Hailie's Song - Eminem - but it's the OldSchool RuneScape soundfont/Hailie's Song - Eminem - but it's the OldSchool RuneScape soundfont [0ZaCwePyXYc].mp4", false, ~U[2025-12-26 15:00:04Z]] 18:46:29.842 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=865.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:46:29.843 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:46:29.844 [debug] QUERY OK source="media_items" db=0.3ms idle=4.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [60] 18:46:29.844 [info] Kicking off download for media item #60 (0ZaCwePyXYc) 18:46:29.847 [debug] QUERY OK source="tasks" db=0.3ms idle=4.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [63, 60, ~U[2026-06-27 16:46:29Z], ~U[2026-06-27 16:46:29Z]] 18:46:29.847 [debug] Current batch of media processed. Will check again in 1000ms 18:46:30.848 [debug] Current batch of media processed. Will check again in 1000ms 18:46:31.850 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 166, "filename" => "/downloads/UnpragmaticCovers/2025-12-23 I Just Can't Wait to Be King but it's the OldSchool RuneScape soundfont/I Just Can't Wait to Be King but it's the OldSchool RuneScape soundfont [JnABWxtuR-0].mp4", "id" => "JnABWxtuR-0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JnABWxtuR-0", "playlist_index" => 61, "timestamp" => 1766502039, "title" => "I Just Can't Wait to Be King but it's the OldSchool RuneScape soundfont", "upload_date" => "20251223"} 18:46:31.852 [debug] QUERY OK source="sources" db=0.6ms idle=870.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:46:31.854 [debug] QUERY OK source="sources" db=1.5ms queue=0.3ms idle=857.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:46:31.857 [debug] QUERY OK source="media_items" db=1.0ms queue=0.9ms idle=859.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-23 15:00:39Z], 1] 18:46:31.869 [debug] QUERY OK source="media_items" db=10.7ms idle=862.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "I Just Can't Wait to Be King but it's the OldSchool RuneScape soundfont", "41bb9abc-43e5-4b29-abdb-afe20125d4a9", "JnABWxtuR-0", false, "https://www.youtube.com/watch?v=JnABWxtuR-0", 1, [], 166, false, 61, "/downloads/UnpragmaticCovers/2025-12-23 I Just Can't Wait to Be King but it's the OldSchool RuneScape soundfont/I Just Can't Wait to Be King but it's the OldSchool RuneScape soundfont [JnABWxtuR-0].mp4", false, false, 99, ~U[2025-12-23 15:00:39Z], ~U[2026-06-27 16:46:31Z], ~U[2026-06-27 16:46:31Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "I Just Can't Wait to Be King but it's the OldSchool RuneScape soundfont", "JnABWxtuR-0", "https://www.youtube.com/watch?v=JnABWxtuR-0", 1, 166, false, "/downloads/UnpragmaticCovers/2025-12-23 I Just Can't Wait to Be King but it's the OldSchool RuneScape soundfont/I Just Can't Wait to Be King but it's the OldSchool RuneScape soundfont [JnABWxtuR-0].mp4", false, ~U[2025-12-23 15:00:39Z]] 18:46:31.870 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=873.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:46:31.873 [debug] QUERY OK source="media_profiles" db=1.6ms queue=0.1ms idle=18.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:46:31.875 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=19.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 [61] 18:46:31.876 [info] Kicking off download for media item #61 (JnABWxtuR-0) 18:46:31.880 [debug] QUERY OK source="tasks" db=0.5ms idle=9.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [64, 61, ~U[2026-06-27 16:46:31Z], ~U[2026-06-27 16:46:31Z]] 18:46:31.880 [debug] Current batch of media processed. Will check again in 1000ms 18:46:32.881 [debug] Current batch of media processed. Will check again in 1000ms 18:46:33.882 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=LMWjGjGZIQM\n\nArtwork credit to Ren\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 108, "filename" => "/downloads/UnpragmaticCovers/2025-12-21 The Very First Christmas but it's the OldSchool RuneScape soundfont/The Very First Christmas but it's the OldSchool RuneScape soundfont [VpRvs8B_6zo].mp4", "id" => "VpRvs8B_6zo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VpRvs8B_6zo", "playlist_index" => 62, "timestamp" => 1766329257, "title" => "The Very First Christmas but it's the OldSchool RuneScape soundfont", "upload_date" => "20251221"} 18:46:33.883 [debug] QUERY OK source="sources" db=0.4ms idle=898.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:46:33.884 [debug] QUERY OK source="sources" db=0.2ms idle=888.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:46:33.884 [debug] QUERY OK source="media_items" db=0.3ms idle=888.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-21 15:00:57Z], 1] 18:46:33.886 [debug] QUERY OK source="media_items" db=0.8ms idle=889.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=LMWjGjGZIQM\n\nArtwork credit to Ren\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "The Very First Christmas but it's the OldSchool RuneScape soundfont", "ca062b02-e851-487f-a457-8487b31e9595", "VpRvs8B_6zo", false, "https://www.youtube.com/watch?v=VpRvs8B_6zo", 1, [], 108, false, 62, "/downloads/UnpragmaticCovers/2025-12-21 The Very First Christmas but it's the OldSchool RuneScape soundfont/The Very First Christmas but it's the OldSchool RuneScape soundfont [VpRvs8B_6zo].mp4", false, false, 99, ~U[2025-12-21 15:00:57Z], ~U[2026-06-27 16:46:33Z], ~U[2026-06-27 16:46:33Z], "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=LMWjGjGZIQM\n\nArtwork credit to Ren\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "The Very First Christmas but it's the OldSchool RuneScape soundfont", "VpRvs8B_6zo", "https://www.youtube.com/watch?v=VpRvs8B_6zo", 1, 108, false, "/downloads/UnpragmaticCovers/2025-12-21 The Very First Christmas but it's the OldSchool RuneScape soundfont/The Very First Christmas but it's the OldSchool RuneScape soundfont [VpRvs8B_6zo].mp4", false, ~U[2025-12-21 15:00:57Z]] 18:46:33.886 [debug] QUERY OK source="sources" db=0.4ms idle=890.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:46:33.887 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:46:33.888 [debug] QUERY OK source="media_items" db=0.2ms idle=3.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [62] 18:46:33.888 [info] Kicking off download for media item #62 (VpRvs8B_6zo) 18:46:33.890 [debug] QUERY OK source="tasks" db=0.1ms idle=3.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [65, 62, ~U[2026-06-27 16:46:33Z], ~U[2026-06-27 16:46:33Z]] 18:46:33.890 [debug] Current batch of media processed. Will check again in 1000ms 18:46:34.890 [debug] Current batch of media processed. Will check again in 1000ms 18:46:35.892 [debug] Current batch of media processed. Will check again in 1000ms 18:46:36.900 [debug] Current batch of media processed. Will check again in 1000ms 18:46:37.902 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "My personal favourite Basshunter song!\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 200, "filename" => "/downloads/UnpragmaticCovers/2025-12-19 Angel in the Night - Basshunter but it's the OldSchool RuneScape soundfont/Angel in the Night - Basshunter but it's the OldSchool RuneScape soundfont [EFSmGgNZUgs].mp4", "id" => "EFSmGgNZUgs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=EFSmGgNZUgs", "playlist_index" => 63, "timestamp" => 1766156427, "title" => "Angel in the Night - Basshunter but it's the OldSchool RuneScape soundfont", "upload_date" => "20251219"} 18:46:37.909 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=911.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:46:37.915 [debug] QUERY OK source="sources" db=0.5ms queue=4.7ms idle=912.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:46:37.917 [debug] QUERY OK source="media_items" db=0.7ms queue=1.0ms idle=917.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-19 15:00:27Z], 1] 18:46:37.954 [debug] QUERY OK source="media_items" db=34.7ms queue=0.8ms idle=920.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["My personal favourite Basshunter song!\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Angel in the Night - Basshunter but it's the OldSchool RuneScape soundfont", "94b6dee5-346c-4104-9eaf-b5d418cdfe1e", "EFSmGgNZUgs", false, "https://www.youtube.com/watch?v=EFSmGgNZUgs", 1, [], 200, false, 63, "/downloads/UnpragmaticCovers/2025-12-19 Angel in the Night - Basshunter but it's the OldSchool RuneScape soundfont/Angel in the Night - Basshunter but it's the OldSchool RuneScape soundfont [EFSmGgNZUgs].mp4", false, false, 99, ~U[2025-12-19 15:00:27Z], ~U[2026-06-27 16:46:37Z], ~U[2026-06-27 16:46:37Z], "My personal favourite Basshunter song!\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Angel in the Night - Basshunter but it's the OldSchool RuneScape soundfont", "EFSmGgNZUgs", "https://www.youtube.com/watch?v=EFSmGgNZUgs", 1, 200, false, "/downloads/UnpragmaticCovers/2025-12-19 Angel in the Night - Basshunter but it's the OldSchool RuneScape soundfont/Angel in the Night - Basshunter but it's the OldSchool RuneScape soundfont [EFSmGgNZUgs].mp4", false, ~U[2025-12-19 15:00:27Z]] 18:46:37.956 [debug] QUERY OK source="sources" db=0.9ms queue=0.4ms idle=949.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:46:37.958 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.9ms idle=46.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:46:37.960 [debug] QUERY OK source="media_items" db=0.9ms idle=44.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [63] 18:46:37.960 [info] Kicking off download for media item #63 (EFSmGgNZUgs) 18:46:37.969 [debug] QUERY OK source="tasks" db=0.3ms idle=12.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [66, 63, ~U[2026-06-27 16:46:37Z], ~U[2026-06-27 16:46:37Z]] 18:46:37.970 [debug] Current batch of media processed. Will check again in 1000ms 18:46:38.971 [debug] Current batch of media processed. Will check again in 1000ms 18:46:40.002 [debug] Current batch of media processed. Will check again in 1000ms 18:46:40.580 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=BjoamIXUf_4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a1/93/a193023767e069259140a17ed2d2d42facbb0befff02c53880301a5aec88d93d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:46:40.630 [debug] Running yt-dlp command for action: download_thumbnail 18:46:40.632 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1634.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.633 [debug] QUERY OK source="settings" db=0.1ms queue=0.3ms idle=1634.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.634 [debug] QUERY OK source="settings" db=0.1ms idle=1635.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.634 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=BjoamIXUf_4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/14/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/f0/15/f01521dc34e3999ddb16294b394b26fbb59586ea23dba968f9d24bdd1d504512.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:46:41.004 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 197, "filename" => "/downloads/UnpragmaticCovers/2025-12-16 With You - Linkin Park but it's the OldSchool RuneScape soundfont/With You - Linkin Park but it's the OldSchool RuneScape soundfont [_3aP2V0EAYk].mp4", "id" => "_3aP2V0EAYk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_3aP2V0EAYk", "playlist_index" => 64, "timestamp" => 1765897275, "title" => "With You - Linkin Park but it's the OldSchool RuneScape soundfont", "upload_date" => "20251216"} 18:46:41.005 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=984.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:46:41.006 [debug] QUERY OK source="sources" db=1.3ms idle=372.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:46:41.008 [debug] QUERY OK source="media_items" db=1.3ms idle=373.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-16 15:01:15Z], 1] 18:46:41.012 [debug] QUERY OK source="media_items" db=2.7ms idle=375.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "With You - Linkin Park but it's the OldSchool RuneScape soundfont", "2fca35e9-db7d-422f-8f7e-52b1e47979e2", "_3aP2V0EAYk", false, "https://www.youtube.com/watch?v=_3aP2V0EAYk", 1, [], 197, false, 64, "/downloads/UnpragmaticCovers/2025-12-16 With You - Linkin Park but it's the OldSchool RuneScape soundfont/With You - Linkin Park but it's the OldSchool RuneScape soundfont [_3aP2V0EAYk].mp4", false, false, 99, ~U[2025-12-16 15:01:15Z], ~U[2026-06-27 16:46:41Z], ~U[2026-06-27 16:46:41Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "With You - Linkin Park but it's the OldSchool RuneScape soundfont", "_3aP2V0EAYk", "https://www.youtube.com/watch?v=_3aP2V0EAYk", 1, 197, false, "/downloads/UnpragmaticCovers/2025-12-16 With You - Linkin Park but it's the OldSchool RuneScape soundfont/With You - Linkin Park but it's the OldSchool RuneScape soundfont [_3aP2V0EAYk].mp4", false, ~U[2025-12-16 15:01:15Z]] 18:46:41.014 [debug] QUERY OK source="sources" db=0.9ms queue=0.7ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:46:41.016 [debug] QUERY OK source="media_profiles" db=0.6ms queue=1.0ms idle=9.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:46:41.020 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=11.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [64] 18:46:41.020 [info] Kicking off download for media item #64 (_3aP2V0EAYk) 18:46:41.029 [debug] QUERY OK source="tasks" db=2.1ms idle=11.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [67, 64, ~U[2026-06-27 16:46:41Z], ~U[2026-06-27 16:46:41Z]] 18:46:41.029 [debug] Current batch of media processed. Will check again in 1000ms 18:46:42.030 [debug] Current batch of media processed. Will check again in 1000ms 18:46:42.592 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GPjCUtMaqkM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0e/55/0e55d84b91bdbe10f09a78588097a7dd0ca949356176b68947f1e98e3e3c6977.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:46:42.627 [debug] Running yt-dlp command for action: download_thumbnail 18:46:42.629 [debug] QUERY OK source="settings" db=0.4ms 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 [] 18:46:42.631 [debug] QUERY OK source="settings" db=1.8ms idle=1603.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.635 [debug] QUERY OK source="settings" db=3.9ms idle=1604.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.636 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GPjCUtMaqkM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/13/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/19/da/19da8c319b46c9a40c839be167f3d58d1636dbdfb0b17dfc176d4769d5333e8b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:46:43.036 [debug] Current batch of media processed. Will check again in 1000ms 18:46:43.445 [info] POST /media_profiles/1 18:46:43.448 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.update/2 Parameters: %{"_csrf_token" => "BTQGbi0RIQU7RgcmAQoAMhEWDjonJDAOfWBXZTLDr0WHX8KzPOiCBmwo", "_method" => "patch", "id" => "1", "media_profile" => %{"audio_track" => "", "download_auto_subs" => "false", "download_metadata" => "false", "download_nfo" => "false", "download_source_images" => "false", "download_subs" => "true", "download_thumbnail" => "true", "embed_metadata" => "true", "embed_subs" => "true", "embed_thumbnail" => "true", "livestream_behaviour" => "exclude", "media_container" => "", "name" => "Default", "output_path_template" => "/youtube/{{ source_custom_name }}/{{ upload_yyyy_mm_dd }} {{ title }}/{{ title }} [{{ id }}].{{ ext }}", "preferred_resolution" => "1080p", "redownload_delay_days" => "", "shorts_behaviour" => "include", "sponsorblock_behaviour" => "disabled", "sub_langs" => "en"}, "media_profile_preset" => ""} Pipelines: [:browser] 18:46:43.451 [debug] QUERY OK source="media_profiles" db=1.0ms idle=820.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:46:43.453 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.4ms idle=820.6ms UPDATE "media_profiles" SET "output_path_template" = ?, "updated_at" = ? WHERE "id" = ? ["/youtube/{{ source_custom_name }}/{{ upload_yyyy_mm_dd }} {{ title }}/{{ title }} [{{ id }}].{{ ext }}", ~U[2026-06-27 16:46:43Z], 1] 18:46:43.453 [info] Sent 302 in 7ms 18:46:43.463 [info] GET /media_profiles/1 18:46:43.463 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 18:46:43.466 [debug] QUERY OK source="media_profiles" db=2.9ms queue=0.1ms idle=827.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:46:43.469 [debug] QUERY OK source="sources" db=1.7ms queue=0.5ms idle=462.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 18:46:43.472 [debug] QUERY OK source="settings" db=1.3ms queue=0.4ms idle=416.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:43.474 [debug] QUERY OK source="settings" db=0.9ms queue=0.7ms 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 [] 18:46:43.477 [debug] QUERY OK source="settings" db=0.7ms queue=0.3ms 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 [] 18:46:43.482 [info] Sent 200 in 19ms 18:46:43.560 [info] CONNECTED TO Phoenix.LiveView.Socket in 39µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "LREPDhoPJQ8hAhsbMUZ-Jw06DikwKz47NrK8mJHNhtKuht5oLciPUbyZ", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:46:43.568 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:46:43.568 [debug] Replied in 153µs 18:46:44.037 [debug] Current batch of media processed. Will check again in 1000ms 18:46:45.038 [debug] Current batch of media processed. Will check again in 1000ms 18:46:46.043 [debug] Current batch of media processed. Will check again in 1000ms 18:46:47.044 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A month or so ago I had my music library shuffling while doing some small team Nex. We hadn't seen a drop in weeks, so in order to will a drop into existence I said \"if we get a drop on this kill, I will listen to this current song on repeat for the rest of the night\".\n\nThat is how I ended up listening to this song 30 times in a row.\n\nNa na, why don't you get a drop?\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 166, "filename" => "/downloads/UnpragmaticCovers/2025-12-14 Why Don't You Get a Job? - The Offspring but it's the OldSchool RuneScape soundfont/Why Don't You Get a Job? - The Offspring but it's the OldSchool RuneScape soundfont [oOVrhzxWP1A].mp4", "id" => "oOVrhzxWP1A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oOVrhzxWP1A", "playlist_index" => 65, "timestamp" => 1765724486, "title" => "Why Don't You Get a Job? - The Offspring but it's the OldSchool RuneScape soundfont", "upload_date" => "20251214"} 18:46:47.046 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms 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" IN (?)) [1] 18:46:47.047 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=41.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:46:47.047 [debug] QUERY OK source="media_items" db=0.4ms idle=41.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-14 15:01:26Z], 1] 18:46:47.049 [debug] QUERY OK source="media_items" db=1.1ms idle=42.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A month or so ago I had my music library shuffling while doing some small team Nex. We hadn't seen a drop in weeks, so in order to will a drop into existence I said \"if we get a drop on this kill, I will listen to this current song on repeat for the rest of the night\".\n\nThat is how I ended up listening to this song 30 times in a row.\n\nNa na, why don't you get a drop?\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Why Don't You Get a Job? - The Offspring but it's the OldSchool RuneScape soundfont", "9d26c903-d293-40ed-93a0-9e99807f3c1e", "oOVrhzxWP1A", false, "https://www.youtube.com/watch?v=oOVrhzxWP1A", 1, [], 166, false, 65, "/downloads/UnpragmaticCovers/2025-12-14 Why Don't You Get a Job? - The Offspring but it's the OldSchool RuneScape soundfont/Why Don't You Get a Job? - The Offspring but it's the OldSchool RuneScape soundfont [oOVrhzxWP1A].mp4", false, false, 99, ~U[2025-12-14 15:01:26Z], ~U[2026-06-27 16:46:47Z], ~U[2026-06-27 16:46:47Z], "A month or so ago I had my music library shuffling while doing some small team Nex. We hadn't seen a drop in weeks, so in order to will a drop into existence I said \"if we get a drop on this kill, I will listen to this current song on repeat for the rest of the night\".\n\nThat is how I ended up listening to this song 30 times in a row.\n\nNa na, why don't you get a drop?\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Why Don't You Get a Job? - The Offspring but it's the OldSchool RuneScape soundfont", "oOVrhzxWP1A", "https://www.youtube.com/watch?v=oOVrhzxWP1A", 1, 166, false, "/downloads/UnpragmaticCovers/2025-12-14 Why Don't You Get a Job? - The Offspring but it's the OldSchool RuneScape soundfont/Why Don't You Get a Job? - The Offspring but it's the OldSchool RuneScape soundfont [oOVrhzxWP1A].mp4", false, ~U[2025-12-14 15:01:26Z]] 18:46:47.050 [debug] QUERY OK source="sources" db=0.5ms idle=44.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:46:47.052 [debug] QUERY OK source="media_profiles" db=1.3ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:46:47.054 [debug] QUERY OK source="media_items" db=1.2ms idle=5.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [65] 18:46:47.054 [info] Kicking off download for media item #65 (oOVrhzxWP1A) 18:46:47.063 [debug] QUERY OK source="tasks" db=0.4ms queue=0.2ms idle=11.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [68, 65, ~U[2026-06-27 16:46:47Z], ~U[2026-06-27 16:46:47Z]] 18:46:47.064 [debug] Current batch of media processed. Will check again in 1000ms 18:46:47.624 [info] {"source":"oban","duration":13218,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:48.050 [info] GET /media_profiles 18:46:48.050 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 18:46:48.052 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=992.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 18:46:48.053 [debug] QUERY OK source="settings" db=0.4ms idle=990.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:48.059 [debug] QUERY OK source="settings" db=6.3ms queue=0.1ms idle=990.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:48.070 [debug] Current batch of media processed. Will check again in 1000ms 18:46:48.071 [debug] QUERY OK source="settings" db=11.1ms idle=980.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:48.073 [info] Sent 200 in 22ms 18:46:48.394 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=BjoamIXUf_4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/14/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/f0/15/f01521dc34e3999ddb16294b394b26fbb59586ea23dba968f9d24bdd1d504512.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:46:48.395 [debug] QUERY OK db=0.1ms queue=0.1ms idle=343.0ms begin [] 18:46:48.397 [debug] QUERY OK source="media_items" db=0.9ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/UnpragmaticCovers/2026-05-12 The Rockafeller Skank - Fatboy Slim but it's the OldSchool RuneScape soundfont/The Rockafeller Skank - Fatboy Slim but it's the OldSchool RuneScape soundfont [BjoamIXUf_4].mp4", "/downloads/UnpragmaticCovers/2026-05-12 The Rockafeller Skank - Fatboy Slim but it's the OldSchool RuneScape soundfont/The Rockafeller Skank - Fatboy Slim but it's the OldSchool RuneScape soundfont [BjoamIXUf_4]-thumb.jpg", ~U[2026-06-27 16:46:40Z], ~U[2026-06-27 16:46:48Z], 14] 18:46:48.403 [debug] QUERY OK source="media_metadata" db=5.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/14/metadata.json.gz", "/config/metadata/media_items/14/thumbnail.jpg", 14, ~U[2026-06-27 16:46:48Z], ~U[2026-06-27 16:46:48Z]] 18:46:48.403 [debug] QUERY OK db=0.2ms commit [] 18:46:48.406 [debug] QUERY OK source="media_items" db=1.9ms idle=351.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [12749584, ~U[2026-06-27 16:46:48Z], 14] 18:46:48.408 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:46:48.408 [info] {"args":{"id":14},"id":17,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":28322883,"event":"job:stop","queue_time":146080726,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:46:48.414 [info] CONNECTED TO Phoenix.LiveView.Socket in 41µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "MQkmW0E_OHgiNxEDAXYZLygPPjcwAyxVRjbm6zU9kAAmXDRgiVYNUJk4", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:46:48.420 [info] {"args":{"id":15},"id":18,"meta":{},"system_time":1782578808419295257,"max_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:46:48.422 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:46:48.422 [debug] Replied in 161µs 18:46:48.423 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=313.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" = ?) [15] 18:46:48.423 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:46:48.439 [debug] QUERY OK source="sources" db=10.5ms queue=0.2ms idle=24.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:46:48.444 [debug] QUERY OK source="media_profiles" db=4.5ms queue=0.1ms idle=32.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:46:48.446 [debug] QUERY OK source="media_items" db=1.6ms idle=35.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 [15] 18:46:48.452 [debug] QUERY OK source="media_metadata" db=0.2ms idle=32.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" = ?) [15] 18:46:48.452 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.2ms 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] 18:46:48.460 [debug] QUERY OK source="settings" db=0.3ms 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 [] 18:46:48.462 [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 [] 18:46:48.470 [debug] Running yt-dlp command for action: get_downloadable_status 18:46:48.472 [debug] QUERY OK source="settings" db=0.2ms 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:46:48.473 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=20.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:46:48.473 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=20.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:46:48.474 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ya8pAEO--lc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/72/36/7236a0a2896995948b8d3b60801e462f61b110cba4434f5d30701d755bf95ea0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:46:49.072 [debug] Current batch of media processed. Will check again in 1000ms 18:46:49.411 [info] GET / 18:46:49.412 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 18:46:49.438 [debug] QUERY OK source="settings" db=23.9ms queue=1.6ms idle=950.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.442 [debug] QUERY OK source="media_profiles" db=3.3ms queue=0.1ms idle=966.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 18:46:49.444 [debug] QUERY OK source="sources" db=1.1ms queue=0.6ms idle=970.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 18:46:49.532 [debug] QUERY OK source="media_items" db=84.8ms idle=973.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:46:49.539 [debug] QUERY OK source="media_items" db=6.7ms queue=0.1ms idle=365.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:46:49.547 [debug] QUERY OK source="settings" db=4.7ms queue=0.1ms idle=103.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.564 [debug] QUERY OK source="settings" db=16.8ms idle=104.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.578 [debug] QUERY OK source="settings" db=13.6ms idle=120.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.585 [debug] QUERY OK source="tasks" db=1.4ms queue=0.1ms idle=51.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"] 18:46:49.590 [debug] QUERY OK source="media_items" db=4.7ms idle=46.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" IN (?,?)) [13, 15] 18:46:49.590 [debug] QUERY OK source="sources" db=4.9ms idle=38.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:46:49.601 [debug] QUERY OK source="media_items" db=7.2ms queue=0.1ms idle=29.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)) [] 18:46:49.606 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=23.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] 18:46:49.608 [debug] QUERY OK source="sources" db=0.5ms idle=22.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:46:49.647 [debug] QUERY OK source="media_items" db=31.9ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 18:46:49.650 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=56.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] 18:46:49.652 [debug] QUERY OK source="sources" db=1.3ms idle=49.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:46:49.658 [info] Sent 200 in 247ms 18:46:50.001 [info] CONNECTED TO Phoenix.LiveView.Socket in 43µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DFsVBi4ROXB9NAg_FWclIRgzXk8vMyYNo8Q0YTT14BXQLUniYj96Jzal", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:46:50.052 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "media_state" => "downloaded"} 18:46:50.058 [debug] QUERY OK source="media_items" db=3.4ms idle=448.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)) [] 18:46:50.072 [debug] Current batch of media processed. Will check again in 1000ms 18:46:50.073 [debug] QUERY OK source="media_items" db=14.2ms idle=450.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] 18:46:50.075 [debug] QUERY OK source="sources" db=0.5ms idle=427.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:46:50.075 [debug] Replied in 22ms 18:46:50.084 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "media_state" => "pending"} 18:46:50.085 [debug] QUERY OK source="media_items" db=0.6ms idle=434.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"))) [] 18:46:50.087 [debug] QUERY OK source="media_items" db=1.4ms idle=433.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] 18:46:50.090 [debug] QUERY OK source="sources" db=0.5ms idle=31.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:46:50.090 [debug] Replied in 6ms 18:46:50.099 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:46:50.100 [debug] QUERY OK source="tasks" db=0.7ms idle=26.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"] 18:46:50.102 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=25.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" IN (?,?)) [13, 15] 18:46:50.102 [debug] QUERY OK source="sources" db=1.3ms idle=15.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:46:50.103 [debug] Replied in 3ms 18:46:50.105 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:46:50.105 [debug] Replied in 148µs 18:46:51.074 [debug] Current batch of media processed. Will check again in 1000ms 18:46:51.496 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=GPjCUtMaqkM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/13/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/19/da/19da8c319b46c9a40c839be167f3d58d1636dbdfb0b17dfc176d4769d5333e8b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:46:51.497 [debug] QUERY OK db=0.5ms idle=1396.7ms begin [] 18:46:51.498 [debug] QUERY OK source="media_items" db=0.8ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/UnpragmaticCovers/2026-05-15 Faint - Linkin Park but it's the OldSchool RuneScape soundfont/Faint - Linkin Park but it's the OldSchool RuneScape soundfont [GPjCUtMaqkM].mp4", "/downloads/UnpragmaticCovers/2026-05-15 Faint - Linkin Park but it's the OldSchool RuneScape soundfont/Faint - Linkin Park but it's the OldSchool RuneScape soundfont [GPjCUtMaqkM]-thumb.jpg", ~U[2026-06-27 16:46:42Z], ~U[2026-06-27 16:46:51Z], 13] 18:46:51.499 [debug] QUERY OK source="media_metadata" db=0.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/13/metadata.json.gz", "/config/metadata/media_items/13/thumbnail.jpg", 13, ~U[2026-06-27 16:46:51Z], ~U[2026-06-27 16:46:51Z]] 18:46:51.500 [debug] QUERY OK db=0.5ms commit [] 18:46:51.501 [debug] QUERY OK source="media_items" db=0.4ms idle=1398.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [5899621, ~U[2026-06-27 16:46:51Z], 13] 18:46:51.501 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:46:51.503 [info] {"args":{"id":13},"id":16,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":38200632,"event":"job:stop","queue_time":144299679,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:46:51.506 [debug] QUERY OK source="tasks" db=0.5ms queue=0.3ms idle=1331.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 18:46:51.508 [debug] QUERY OK source="sources" db=0.5ms idle=7.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:46:51.509 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=332.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" = ?) [15] 18:46:51.512 [info] {"args":{"id":16},"id":19,"meta":{},"system_time":1782578811512400908,"max_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:46:51.515 [debug] QUERY OK source="media_items" db=2.8ms queue=0.2ms idle=9.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16] 18:46:51.515 [debug] QUERY OK source="tasks" db=2.9ms idle=6.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"] 18:46:51.516 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:46:51.517 [debug] QUERY OK source="sources" db=0.7ms 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] 18:46:51.518 [debug] QUERY OK source="media_profiles" db=0.6ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:46:51.519 [debug] QUERY OK source="sources" db=1.7ms queue=0.1ms idle=8.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:46:51.519 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=5.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" IN (?,?)) [15, 16] 18:46:51.521 [debug] QUERY OK source="media_items" db=1.7ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [16] 18:46:51.524 [debug] QUERY OK source="media_metadata" db=0.4ms idle=5.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [16] 18:46:51.524 [debug] QUERY OK source="media_profiles" db=0.4ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:46:51.525 [debug] QUERY OK source="settings" db=0.2ms 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 [] 18:46:51.526 [debug] QUERY OK source="settings" db=0.2ms 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 [] 18:46:51.526 [debug] Running yt-dlp command for action: get_downloadable_status 18:46:51.529 [debug] QUERY OK source="settings" db=0.2ms 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 [] 18:46:51.529 [debug] QUERY OK source="settings" db=0.4ms 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 [] 18:46:51.530 [debug] QUERY OK source="settings" db=0.2ms 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 [] 18:46:51.530 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=qEncthK9AnM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e8/75/e8758756e69715120b2197472fb1176d214a486de88f4d27bdcca32e10297d9f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:46:52.076 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=ZgGZ3PGhCcg\n\nArtwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 257, "filename" => "/downloads/UnpragmaticCovers/2025-12-12 Fairytale of New York - The Pogues but it's the OldSchool RuneScape soundfont/Fairytale of New York - The Pogues but it's the OldSchool RuneScape soundfont [bfRVUVp1_iE].mp4", "id" => "bfRVUVp1_iE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bfRVUVp1_iE", "playlist_index" => 66, "timestamp" => 1765551689, "title" => "Fairytale of New York - The Pogues but it's the OldSchool RuneScape soundfont", "upload_date" => "20251212"} 18:46:52.078 [debug] QUERY OK source="sources" db=0.9ms idle=551.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:46:52.079 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=552.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:46:52.080 [debug] QUERY OK source="media_items" db=0.6ms idle=550.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-12 15:01:29Z], 1] 18:46:52.093 [debug] QUERY OK source="media_items" db=12.8ms idle=551.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=ZgGZ3PGhCcg\n\nArtwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Fairytale of New York - The Pogues but it's the OldSchool RuneScape soundfont", "ab4d1ffe-3dfa-4e4f-84bd-795d8ecb61fe", "bfRVUVp1_iE", false, "https://www.youtube.com/watch?v=bfRVUVp1_iE", 1, [], 257, false, 66, "/downloads/UnpragmaticCovers/2025-12-12 Fairytale of New York - The Pogues but it's the OldSchool RuneScape soundfont/Fairytale of New York - The Pogues but it's the OldSchool RuneScape soundfont [bfRVUVp1_iE].mp4", false, false, 99, ~U[2025-12-12 15:01:29Z], ~U[2026-06-27 16:46:52Z], ~U[2026-06-27 16:46:52Z], "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=ZgGZ3PGhCcg\n\nArtwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Fairytale of New York - The Pogues but it's the OldSchool RuneScape soundfont", "bfRVUVp1_iE", "https://www.youtube.com/watch?v=bfRVUVp1_iE", 1, 257, false, "/downloads/UnpragmaticCovers/2025-12-12 Fairytale of New York - The Pogues but it's the OldSchool RuneScape soundfont/Fairytale of New York - The Pogues but it's the OldSchool RuneScape soundfont [bfRVUVp1_iE].mp4", false, ~U[2025-12-12 15:01:29Z]] 18:46:52.094 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=564.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:46:52.095 [debug] QUERY OK source="media_profiles" db=0.2ms 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:46:52.095 [debug] QUERY OK source="media_items" db=0.4ms idle=16.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 [66] 18:46:52.096 [info] Kicking off download for media item #66 (bfRVUVp1_iE) 18:46:52.103 [debug] QUERY OK source="tasks" db=1.9ms queue=0.1ms idle=6.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [69, 66, ~U[2026-06-27 16:46:52Z], ~U[2026-06-27 16:46:52Z]] 18:46:52.103 [debug] Current batch of media processed. Will check again in 1000ms 18:46:53.103 [debug] Current batch of media processed. Will check again in 1000ms 18:46:54.104 [debug] Current batch of media processed. Will check again in 1000ms 18:46:54.505 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ya8pAEO--lc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/72/36/7236a0a2896995948b8d3b60801e462f61b110cba4434f5d30701d755bf95ea0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:46:54.506 [debug] Running yt-dlp command for action: download 18:46:54.506 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=480.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:54.507 [debug] QUERY OK source="settings" db=0.4ms idle=481.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:54.507 [debug] QUERY OK source="settings" db=0.2ms idle=481.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:54.508 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ya8pAEO--lc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/bb/be/bbbec8b200e4aa7bb80a63e6f9739f8865b33ea5f680ec887a077d27751ef4f6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:46:55.105 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The stars that pierce the sky\nHe scouted a size 9\nAnd how his children cried\nHe left us all... to mine\n\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 205, "filename" => "/downloads/UnpragmaticCovers/2025-12-09 Miss Murder - AFI but it's the OldSchool RuneScape soundfont/Miss Murder - AFI but it's the OldSchool RuneScape soundfont [w1GfFewoLyI].mp4", "id" => "w1GfFewoLyI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=w1GfFewoLyI", "playlist_index" => 67, "timestamp" => 1765292514, "title" => "Miss Murder - AFI but it's the OldSchool RuneScape soundfont", "upload_date" => "20251209"} 18:46:55.107 [debug] QUERY OK source="sources" db=0.4ms queue=0.4ms idle=1080.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:46:55.108 [debug] QUERY OK source="sources" db=0.3ms queue=0.4ms idle=922.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:46:55.109 [debug] QUERY OK source="media_items" db=0.3ms queue=0.3ms idle=601.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-09 15:01:54Z], 1] 18:46:55.129 [debug] QUERY OK source="media_items" db=8.9ms queue=0.2ms idle=611.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The stars that pierce the sky\nHe scouted a size 9\nAnd how his children cried\nHe left us all... to mine\n\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Miss Murder - AFI but it's the OldSchool RuneScape soundfont", "258d51a4-3ff1-4098-85b1-de6d71b930e3", "w1GfFewoLyI", false, "https://www.youtube.com/watch?v=w1GfFewoLyI", 1, [], 205, false, 67, "/downloads/UnpragmaticCovers/2025-12-09 Miss Murder - AFI but it's the OldSchool RuneScape soundfont/Miss Murder - AFI but it's the OldSchool RuneScape soundfont [w1GfFewoLyI].mp4", false, false, 99, ~U[2025-12-09 15:01:54Z], ~U[2026-06-27 16:46:55Z], ~U[2026-06-27 16:46:55Z], "The stars that pierce the sky\nHe scouted a size 9\nAnd how his children cried\nHe left us all... to mine\n\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Miss Murder - AFI but it's the OldSchool RuneScape soundfont", "w1GfFewoLyI", "https://www.youtube.com/watch?v=w1GfFewoLyI", 1, 205, false, "/downloads/UnpragmaticCovers/2025-12-09 Miss Murder - AFI but it's the OldSchool RuneScape soundfont/Miss Murder - AFI but it's the OldSchool RuneScape soundfont [w1GfFewoLyI].mp4", false, ~U[2025-12-09 15:01:54Z]] 18:46:55.130 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=621.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:46:55.132 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 18:46:55.134 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=25.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [67] 18:46:55.134 [info] Kicking off download for media item #67 (w1GfFewoLyI) 18:46:55.139 [debug] QUERY OK source="tasks" db=0.5ms queue=0.5ms idle=7.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [70, 67, ~U[2026-06-27 16:46:55Z], ~U[2026-06-27 16:46:55Z]] 18:46:55.140 [debug] Current batch of media processed. Will check again in 1000ms 18:46:56.140 [debug] Current batch of media processed. Will check again in 1000ms 18:46:56.669 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=qEncthK9AnM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e8/75/e8758756e69715120b2197472fb1176d214a486de88f4d27bdcca32e10297d9f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:46:56.669 [debug] Running yt-dlp command for action: download 18:46:56.670 [debug] QUERY OK source="settings" db=0.4ms idle=1532.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:56.671 [debug] QUERY OK source="settings" db=0.8ms idle=1533.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:56.671 [debug] QUERY OK source="settings" db=0.2ms idle=1532.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:56.672 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=qEncthK9AnM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fc/55/fc55b2c028e15c490045f5da2e369b5bb526fa470fd06cf16dc069dc753df497.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:46:57.142 [debug] Current batch of media processed. Will check again in 1000ms 18:46:58.142 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "It's Jobless Jim\nand thats my name\nand don't wear it out\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 173, "filename" => "/downloads/UnpragmaticCovers/2025-12-07 St. Jimmy - Green Day but it's the OldSchool RuneScape soundfont/St. Jimmy - Green Day but it's the OldSchool RuneScape soundfont [tC9zw89IEys].mp4", "id" => "tC9zw89IEys", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tC9zw89IEys", "playlist_index" => 68, "timestamp" => 1765119708, "title" => "St. Jimmy - Green Day but it's the OldSchool RuneScape soundfont", "upload_date" => "20251207"} 18:46:58.143 [debug] QUERY OK source="sources" db=0.4ms idle=1117.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:46:58.144 [debug] QUERY OK source="sources" db=0.5ms queue=0.3ms idle=949.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:46:58.146 [debug] QUERY OK source="media_items" db=0.9ms idle=119.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-07 15:01:48Z], 1] 18:46:58.147 [debug] QUERY OK source="media_items" db=1.1ms idle=120.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["It's Jobless Jim\nand thats my name\nand don't wear it out\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "St. Jimmy - Green Day but it's the OldSchool RuneScape soundfont", "9c0e624c-5392-4842-88ba-c4dba887db3e", "tC9zw89IEys", false, "https://www.youtube.com/watch?v=tC9zw89IEys", 1, [], 173, false, 68, "/downloads/UnpragmaticCovers/2025-12-07 St. Jimmy - Green Day but it's the OldSchool RuneScape soundfont/St. Jimmy - Green Day but it's the OldSchool RuneScape soundfont [tC9zw89IEys].mp4", false, false, 99, ~U[2025-12-07 15:01:48Z], ~U[2026-06-27 16:46:58Z], ~U[2026-06-27 16:46:58Z], "It's Jobless Jim\nand thats my name\nand don't wear it out\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "St. Jimmy - Green Day but it's the OldSchool RuneScape soundfont", "tC9zw89IEys", "https://www.youtube.com/watch?v=tC9zw89IEys", 1, 173, false, "/downloads/UnpragmaticCovers/2025-12-07 St. Jimmy - Green Day but it's the OldSchool RuneScape soundfont/St. Jimmy - Green Day but it's the OldSchool RuneScape soundfont [tC9zw89IEys].mp4", false, ~U[2025-12-07 15:01:48Z]] 18:46:58.148 [debug] QUERY OK source="sources" db=0.3ms idle=122.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:46:58.149 [debug] QUERY OK source="media_profiles" db=0.4ms idle=4.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:46:58.149 [debug] QUERY OK source="media_items" db=0.5ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [68] 18:46:58.150 [info] Kicking off download for media item #68 (tC9zw89IEys) 18:46:58.152 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=3.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [71, 68, ~U[2026-06-27 16:46:58Z], ~U[2026-06-27 16:46:58Z]] 18:46:58.152 [debug] Current batch of media processed. Will check again in 1000ms 18:46:59.153 [debug] Current batch of media processed. Will check again in 1000ms 18:47:00.054 [debug] HANDLE EVENT "reload_page" in Pinchflat.Pages.HistoryTableLive Parameters: %{"value" => ""} 18:47:00.055 [debug] QUERY OK source="media_items" db=0.4ms idle=855.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"))) [] 18:47:00.056 [debug] QUERY OK source="media_items" db=0.8ms idle=30.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] 18:47:00.057 [debug] QUERY OK source="sources" db=0.2ms idle=31.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:47:00.057 [debug] Replied in 2ms 18:47:00.154 [debug] Current batch of media processed. Will check again in 1000ms 18:47:00.652 [info] {"source":"oban","duration":268,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:47:01.156 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=iVQ_AoxnPiI\n\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 189, "filename" => "/downloads/UnpragmaticCovers/2025-12-05 River Flows in You - Yiruma but it's the OldSchool RuneScape soundfont/River Flows in You - Yiruma but it's the OldSchool RuneScape soundfont [zUzyj9hbLKk].mp4", "id" => "zUzyj9hbLKk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zUzyj9hbLKk", "playlist_index" => 69, "timestamp" => 1764946919, "title" => "River Flows in You - Yiruma but it's the OldSchool RuneScape soundfont", "upload_date" => "20251205"} 18:47:01.158 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=1101.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:47:01.159 [debug] QUERY OK source="sources" db=0.5ms 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] 18:47:01.160 [debug] QUERY OK source="media_items" db=0.3ms idle=1102.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-05 15:01:59Z], 1] 18:47:01.162 [debug] QUERY OK source="media_items" db=1.2ms idle=958.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=iVQ_AoxnPiI\n\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "River Flows in You - Yiruma but it's the OldSchool RuneScape soundfont", "e035b713-5eaf-42a7-9a18-832c60d308bc", "zUzyj9hbLKk", false, "https://www.youtube.com/watch?v=zUzyj9hbLKk", 1, [], 189, false, 69, "/downloads/UnpragmaticCovers/2025-12-05 River Flows in You - Yiruma but it's the OldSchool RuneScape soundfont/River Flows in You - Yiruma but it's the OldSchool RuneScape soundfont [zUzyj9hbLKk].mp4", false, false, 99, ~U[2025-12-05 15:01:59Z], ~U[2026-06-27 16:47:01Z], ~U[2026-06-27 16:47:01Z], "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=iVQ_AoxnPiI\n\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "River Flows in You - Yiruma but it's the OldSchool RuneScape soundfont", "zUzyj9hbLKk", "https://www.youtube.com/watch?v=zUzyj9hbLKk", 1, 189, false, "/downloads/UnpragmaticCovers/2025-12-05 River Flows in You - Yiruma but it's the OldSchool RuneScape soundfont/River Flows in You - Yiruma but it's the OldSchool RuneScape soundfont [zUzyj9hbLKk].mp4", false, ~U[2025-12-05 15:01:59Z]] 18:47:01.163 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=510.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:47:01.164 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:01.165 [debug] QUERY OK source="media_items" db=0.4ms idle=5.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [69] 18:47:01.165 [info] Kicking off download for media item #69 (zUzyj9hbLKk) 18:47:01.168 [debug] QUERY OK source="tasks" db=0.2ms queue=0.1ms idle=4.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [72, 69, ~U[2026-06-27 16:47:01Z], ~U[2026-06-27 16:47:01Z]] 18:47:01.168 [debug] Current batch of media processed. Will check again in 1000ms 18:47:01.378 [info] GET /sources/1/media/67 18:47:01.378 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "67", "source_id" => "1"} Pipelines: [:browser] 18:47:01.379 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=214.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" = ?) [67] 18:47:01.380 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=213.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] 18:47:01.381 [debug] QUERY OK source="sources" db=0.7ms idle=212.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:47:01.382 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=213.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" = ?) [70] 18:47:01.383 [debug] QUERY OK source="settings" db=0.2ms idle=173.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:01.383 [debug] QUERY OK source="settings" db=0.2ms 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 [] 18:47:01.384 [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 [] 18:47:01.386 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:01.389 [info] Sent 200 in 10ms 18:47:01.460 [info] CONNECTED TO Phoenix.LiveView.Socket in 77µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "UAszcQ8ONRUqByk3H3giKzgaMyszIHUl3hwGxKXTcqyYFJicyCTRVi2D", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:47:01.467 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:47:01.467 [debug] Replied in 220µs 18:47:02.168 [debug] Current batch of media processed. Will check again in 1000ms 18:47:03.170 [debug] Current batch of media processed. Will check again in 1000ms 18:47:04.171 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 168, "filename" => "/downloads/UnpragmaticCovers/2025-12-02 Science - System of a Down but it's the OldSchool RuneScape soundfont/Science - System of a Down but it's the OldSchool RuneScape soundfont [vs2uHTELWqQ].mp4", "id" => "vs2uHTELWqQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vs2uHTELWqQ", "playlist_index" => 70, "timestamp" => 1764687711, "title" => "Science - System of a Down but it's the OldSchool RuneScape soundfont", "upload_date" => "20251202"} 18:47:04.173 [debug] QUERY OK source="sources" db=1.2ms idle=1146.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:47:04.175 [debug] QUERY OK source="sources" db=1.6ms queue=0.1ms idle=1148.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:47:04.176 [debug] QUERY OK source="media_items" db=0.4ms idle=1150.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-02 15:01:51Z], 1] 18:47:04.178 [debug] QUERY OK source="media_items" db=0.8ms idle=1151.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Science - System of a Down but it's the OldSchool RuneScape soundfont", "4bacab4e-1c23-4055-a577-cfe95748a4e6", "vs2uHTELWqQ", false, "https://www.youtube.com/watch?v=vs2uHTELWqQ", 1, [], 168, false, 70, "/downloads/UnpragmaticCovers/2025-12-02 Science - System of a Down but it's the OldSchool RuneScape soundfont/Science - System of a Down but it's the OldSchool RuneScape soundfont [vs2uHTELWqQ].mp4", false, false, 99, ~U[2025-12-02 15:01:51Z], ~U[2026-06-27 16:47:04Z], ~U[2026-06-27 16:47:04Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Science - System of a Down but it's the OldSchool RuneScape soundfont", "vs2uHTELWqQ", "https://www.youtube.com/watch?v=vs2uHTELWqQ", 1, 168, false, "/downloads/UnpragmaticCovers/2025-12-02 Science - System of a Down but it's the OldSchool RuneScape soundfont/Science - System of a Down but it's the OldSchool RuneScape soundfont [vs2uHTELWqQ].mp4", false, ~U[2025-12-02 15:01:51Z]] 18:47:04.181 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=967.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:47:04.182 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 18:47:04.183 [debug] QUERY OK source="media_items" db=0.4ms idle=6.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [70] 18:47:04.183 [info] Kicking off download for media item #70 (vs2uHTELWqQ) 18:47:04.186 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=4.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [73, 70, ~U[2026-06-27 16:47:04Z], ~U[2026-06-27 16:47:04Z]] 18:47:04.186 [debug] Current batch of media processed. Will check again in 1000ms 18:47:05.187 [debug] Current batch of media processed. Will check again in 1000ms 18:47:05.494 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=qEncthK9AnM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fc/55/fc55b2c028e15c490045f5da2e369b5bb526fa470fd06cf16dc069dc753df497.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:47:05.516 [debug] Running yt-dlp command for action: download_thumbnail 18:47:05.518 [debug] QUERY OK source="settings" db=0.1ms idle=1333.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:47:05.519 [debug] QUERY OK source="settings" db=0.3ms idle=1333.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.519 [debug] QUERY OK source="settings" db=0.1ms idle=1332.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.519 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=qEncthK9AnM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/16/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/67/11/6711e594e62223c7c9b4d77b5ee28397f938806a171a82a033adf7c63a0eb7bf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:47:06.188 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=kk7oSYF5fD8\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 112, "filename" => "/downloads/UnpragmaticCovers/2025-11-30 Avril 14th - Aphex Twin but it's the OldSchool RuneScape soundfont/Avril 14th - Aphex Twin but it's the OldSchool RuneScape soundfont [tVDZr5MNLoM].mp4", "id" => "tVDZr5MNLoM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tVDZr5MNLoM", "playlist_index" => 71, "timestamp" => 1764514901, "title" => "Avril 14th - Aphex Twin but it's the OldSchool RuneScape soundfont", "upload_date" => "20251130"} 18:47:06.189 [debug] QUERY OK source="sources" db=0.1ms idle=972.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:47:06.189 [debug] QUERY OK source="sources" db=0.1ms idle=671.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:47:06.190 [debug] QUERY OK source="media_items" db=0.6ms idle=671.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-30 15:01:41Z], 1] 18:47:06.193 [debug] QUERY OK source="media_items" db=2.5ms idle=671.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=kk7oSYF5fD8\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Avril 14th - Aphex Twin but it's the OldSchool RuneScape soundfont", "1dd1e5a4-6ff6-45b6-ba4c-f320aaa1bc24", "tVDZr5MNLoM", false, "https://www.youtube.com/watch?v=tVDZr5MNLoM", 1, [], 112, false, 71, "/downloads/UnpragmaticCovers/2025-11-30 Avril 14th - Aphex Twin but it's the OldSchool RuneScape soundfont/Avril 14th - Aphex Twin but it's the OldSchool RuneScape soundfont [tVDZr5MNLoM].mp4", false, false, 99, ~U[2025-11-30 15:01:41Z], ~U[2026-06-27 16:47:06Z], ~U[2026-06-27 16:47:06Z], "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=kk7oSYF5fD8\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Avril 14th - Aphex Twin but it's the OldSchool RuneScape soundfont", "tVDZr5MNLoM", "https://www.youtube.com/watch?v=tVDZr5MNLoM", 1, 112, false, "/downloads/UnpragmaticCovers/2025-11-30 Avril 14th - Aphex Twin but it's the OldSchool RuneScape soundfont/Avril 14th - Aphex Twin but it's the OldSchool RuneScape soundfont [tVDZr5MNLoM].mp4", false, ~U[2025-11-30 15:01:41Z]] 18:47:06.194 [debug] QUERY OK source="sources" db=0.3ms idle=168.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:47:06.194 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:06.195 [debug] QUERY OK source="media_items" db=0.4ms idle=5.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [71] 18:47:06.195 [info] Kicking off download for media item #71 (tVDZr5MNLoM) 18:47:06.198 [debug] QUERY OK source="tasks" db=0.2ms idle=3.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [74, 71, ~U[2026-06-27 16:47:06Z], ~U[2026-06-27 16:47:06Z]] 18:47:06.198 [debug] Current batch of media processed. Will check again in 1000ms 18:47:07.198 [debug] Current batch of media processed. Will check again in 1000ms 18:47:08.199 [debug] Current batch of media processed. Will check again in 1000ms 18:47:09.202 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 185, "filename" => "/downloads/UnpragmaticCovers/2025-11-28 Numb - Linkin Park but it's the OldSchool RuneScape soundfont/Numb - Linkin Park but it's the OldSchool RuneScape soundfont [kY0PjJhe5gA].mp4", "id" => "kY0PjJhe5gA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kY0PjJhe5gA", "playlist_index" => 72, "timestamp" => 1764342088, "title" => "Numb - Linkin Park but it's the OldSchool RuneScape soundfont", "upload_date" => "20251128"} 18:47:09.204 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=1177.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:47:09.207 [debug] QUERY OK source="sources" db=1.1ms queue=1.1ms idle=1178.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:47:09.209 [debug] QUERY OK source="media_items" db=0.9ms queue=0.7ms idle=1181.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-28 15:01:28Z], 1] 18:47:09.215 [debug] QUERY OK source="media_items" db=4.1ms queue=0.1ms idle=1185.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Numb - Linkin Park but it's the OldSchool RuneScape soundfont", "b251d2d6-a60e-4ade-9c38-efc61fd4e925", "kY0PjJhe5gA", false, "https://www.youtube.com/watch?v=kY0PjJhe5gA", 1, [], 185, false, 72, "/downloads/UnpragmaticCovers/2025-11-28 Numb - Linkin Park but it's the OldSchool RuneScape soundfont/Numb - Linkin Park but it's the OldSchool RuneScape soundfont [kY0PjJhe5gA].mp4", false, false, 99, ~U[2025-11-28 15:01:28Z], ~U[2026-06-27 16:47:09Z], ~U[2026-06-27 16:47:09Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Numb - Linkin Park but it's the OldSchool RuneScape soundfont", "kY0PjJhe5gA", "https://www.youtube.com/watch?v=kY0PjJhe5gA", 1, 185, false, "/downloads/UnpragmaticCovers/2025-11-28 Numb - Linkin Park but it's the OldSchool RuneScape soundfont/Numb - Linkin Park but it's the OldSchool RuneScape soundfont [kY0PjJhe5gA].mp4", false, ~U[2025-11-28 15:01:28Z]] 18:47:09.216 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=983.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:47:09.218 [debug] QUERY OK source="media_profiles" db=1.8ms queue=0.1ms idle=12.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:09.220 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=12.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [72] 18:47:09.220 [info] Kicking off download for media item #72 (kY0PjJhe5gA) 18:47:09.224 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=7.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [75, 72, ~U[2026-06-27 16:47:09Z], ~U[2026-06-27 16:47:09Z]] 18:47:09.224 [debug] Current batch of media processed. Will check again in 1000ms 18:47:09.860 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=qEncthK9AnM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/16/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/67/11/6711e594e62223c7c9b4d77b5ee28397f938806a171a82a033adf7c63a0eb7bf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:47:09.861 [debug] QUERY OK db=0.1ms idle=641.0ms begin [] 18:47:09.862 [debug] QUERY OK source="media_items" db=0.4ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "predicted_media_filepath" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/youtube/UnpragmaticCovers/2026-05-05 Welcome to the Internet - Bo Burnham but it's the OldSchool RuneScape soundfont/Welcome to the Internet - Bo Burnham but it's the OldSchool RuneScape soundfont [qEncthK9AnM].mp4", "/downloads/youtube/UnpragmaticCovers/2026-05-05 Welcome to the Internet - Bo Burnham but it's the OldSchool RuneScape soundfont/Welcome to the Internet - Bo Burnham but it's the OldSchool RuneScape soundfont [qEncthK9AnM]-thumb.jpg", ~U[2026-06-27 16:47:05Z], "/downloads/youtube/UnpragmaticCovers/2026-05-05 Welcome to the Internet - Bo Burnham but it's the OldSchool RuneScape soundfont/Welcome to the Internet - Bo Burnham but it's the OldSchool RuneScape soundfont [qEncthK9AnM].mp4", ~U[2026-06-27 16:47:09Z], 16] 18:47:09.863 [debug] QUERY OK source="media_metadata" db=0.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/16/metadata.json.gz", "/config/metadata/media_items/16/thumbnail.jpg", 16, ~U[2026-06-27 16:47:09Z], ~U[2026-06-27 16:47:09Z]] 18:47:09.863 [debug] QUERY OK db=0.1ms commit [] 18:47:09.864 [debug] QUERY OK source="media_items" db=0.7ms idle=641.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [5921970, ~U[2026-06-27 16:47:09Z], 16] 18:47:09.864 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:47:09.865 [info] {"args":{"id":16},"id":19,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":18352074,"event":"job:stop","queue_time":170510992,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:47:09.871 [info] {"args":{"id":17},"id":20,"meta":{},"system_time":1782578829871544300,"max_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:47:09.872 [debug] QUERY OK source="media_items" db=0.7ms idle=637.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" = ?) [17] 18:47:09.873 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:47:09.873 [debug] QUERY OK source="sources" db=0.3ms idle=10.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:47:09.874 [debug] QUERY OK source="media_profiles" db=0.3ms idle=9.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:09.875 [debug] QUERY OK source="media_items" db=0.4ms idle=9.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [17] 18:47:09.877 [debug] QUERY OK source="media_metadata" db=0.2ms idle=5.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [17] 18:47:09.877 [debug] QUERY OK source="media_profiles" db=0.4ms idle=4.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:09.878 [debug] QUERY OK source="settings" db=0.2ms 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 [] 18:47:09.878 [debug] QUERY OK source="settings" db=0.1ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:47:09.879 [debug] Running yt-dlp command for action: get_downloadable_status 18:47:09.880 [debug] QUERY OK source="settings" db=0.1ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:47:09.880 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:47:09.881 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:47:09.881 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7jysADApIQU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f0/c3/f0c36d3da258446b6778794921abfcd0fc278a2c072bb340b52700bad800dcd0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:47:10.224 [debug] Current batch of media processed. Will check again in 1000ms 18:47:11.140 [info] GET /media_profiles 18:47:11.140 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 18:47:11.141 [debug] QUERY OK source="media_profiles" db=0.5ms idle=901.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 18:47:11.142 [debug] QUERY OK source="settings" db=1.1ms idle=115.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:11.144 [debug] QUERY OK source="settings" db=1.1ms idle=117.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:11.146 [debug] QUERY OK source="settings" db=1.2ms idle=118.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:11.147 [info] Sent 200 in 7ms 18:47:11.206 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ya8pAEO--lc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/bb/be/bbbec8b200e4aa7bb80a63e6f9739f8865b33ea5f680ec887a077d27751ef4f6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:47:11.213 [info] CONNECTED TO Phoenix.LiveView.Socket in 31µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "By8efhN1CwMGQx4nFmMTIDEAUBwyKAoGdLZHd0fBO5NIOQXhpY7eWaMg", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:47:11.214 [debug] Running yt-dlp command for action: download_thumbnail 18:47:11.215 [debug] QUERY OK source="settings" db=0.2ms idle=189.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:11.215 [debug] QUERY OK source="settings" db=0.1ms idle=74.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:11.215 [debug] QUERY OK source="settings" db=0.1ms idle=73.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:11.216 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ya8pAEO--lc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/15/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/6e/cd/6ecd43b6d524c013c9f023cbfd32667cc3532536fe42608ce28abe2a423da6aa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:47:11.217 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:47:11.217 [debug] Replied in 101µs 18:47:11.227 [debug] Current batch of media processed. Will check again in 1000ms 18:47:12.229 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "00:00 The Medallion Calls\n01:51 The Black Pearl\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 179, "filename" => "/downloads/UnpragmaticCovers/2025-11-25 The Medallion Calls⧸The Black Pearl but it's the OldSchool RuneScape soundfont/The Medallion Calls⧸The Black Pearl but it's the OldSchool RuneScape soundfont [1-T8C6irLBk].mp4", "id" => "1-T8C6irLBk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1-T8C6irLBk", "playlist_index" => 73, "timestamp" => 1764082802, "title" => "The Medallion Calls/The Black Pearl but it's the OldSchool RuneScape soundfont", "upload_date" => "20251125"} 18:47:12.234 [debug] QUERY OK source="sources" db=4.5ms idle=1083.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:47:12.235 [debug] QUERY OK source="sources" db=0.6ms idle=1019.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:47:12.236 [debug] QUERY OK source="media_items" db=0.7ms idle=1019.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-25 15:00:02Z], 1] 18:47:12.238 [debug] QUERY OK source="media_items" db=1.6ms idle=1020.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["00:00 The Medallion Calls\n01:51 The Black Pearl\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "The Medallion Calls/The Black Pearl but it's the OldSchool RuneScape soundfont", "3a805123-cae1-49ef-bc87-f72f9426966e", "1-T8C6irLBk", false, "https://www.youtube.com/watch?v=1-T8C6irLBk", 1, [], 179, false, 73, "/downloads/UnpragmaticCovers/2025-11-25 The Medallion Calls⧸The Black Pearl but it's the OldSchool RuneScape soundfont/The Medallion Calls⧸The Black Pearl but it's the OldSchool RuneScape soundfont [1-T8C6irLBk].mp4", false, false, 99, ~U[2025-11-25 15:00:02Z], ~U[2026-06-27 16:47:12Z], ~U[2026-06-27 16:47:12Z], "00:00 The Medallion Calls\n01:51 The Black Pearl\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "The Medallion Calls/The Black Pearl but it's the OldSchool RuneScape soundfont", "1-T8C6irLBk", "https://www.youtube.com/watch?v=1-T8C6irLBk", 1, 179, false, "/downloads/UnpragmaticCovers/2025-11-25 The Medallion Calls⧸The Black Pearl but it's the OldSchool RuneScape soundfont/The Medallion Calls⧸The Black Pearl but it's the OldSchool RuneScape soundfont [1-T8C6irLBk].mp4", false, ~U[2025-11-25 15:00:02Z]] 18:47:12.239 [debug] QUERY OK source="sources" db=0.4ms queue=0.3ms idle=998.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:47:12.240 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.4ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:12.241 [debug] QUERY OK source="media_items" db=1.1ms idle=5.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [73] 18:47:12.242 [info] Kicking off download for media item #73 (1-T8C6irLBk) 18:47:12.245 [debug] QUERY OK source="tasks" db=0.1ms idle=4.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [76, 73, ~U[2026-06-27 16:47:12Z], ~U[2026-06-27 16:47:12Z]] 18:47:12.245 [debug] Current batch of media processed. Will check again in 1000ms 18:47:12.976 [info] GET /sources 18:47:12.976 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 18:47:12.978 [debug] QUERY OK source="settings" db=1.4ms idle=734.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.978 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=733.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.980 [debug] QUERY OK source="settings" db=0.9ms idle=735.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.983 [debug] QUERY OK source="settings" db=1.0ms idle=737.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.984 [debug] QUERY OK source="settings" db=0.6ms queue=0.3ms idle=738.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.987 [debug] QUERY OK source="sources" db=1.1ms idle=7.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)) [] 18:47:12.993 [debug] QUERY OK source="sources" db=1.8ms queue=0.1ms idle=12.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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] 18:47:12.997 [info] Sent 200 in 21ms 18:47:13.065 [info] CONNECTED TO Phoenix.LiveView.Socket in 35µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DhM3BCYXVDkHLGQeDmVmEggNNRQpOylXmps2QR9xNZ4pWW-ZITRmLrn6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:47:13.073 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 18:47:13.075 [debug] QUERY OK source="sources" db=1.0ms idle=93.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)) [] 18:47:13.078 [debug] QUERY OK source="sources" db=1.7ms queue=0.1ms idle=93.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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] 18:47:13.078 [debug] Replied in 5ms 18:47:13.083 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:47:13.083 [debug] Replied in 132µs 18:47:13.245 [debug] Current batch of media processed. Will check again in 1000ms 18:47:14.246 [debug] Current batch of media processed. Will check again in 1000ms 18:47:14.490 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7jysADApIQU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f0/c3/f0c36d3da258446b6778794921abfcd0fc278a2c072bb340b52700bad800dcd0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:47:14.491 [debug] Running yt-dlp command for action: download 18:47:14.493 [debug] QUERY OK source="settings" db=0.7ms queue=0.5ms idle=1413.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:14.494 [debug] QUERY OK source="settings" db=0.3ms 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 [] 18:47:14.495 [debug] QUERY OK source="settings" db=0.8ms idle=468.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:14.496 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7jysADApIQU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/01/a8/01a8b011a0fb97bfa946b5dde685d582c079c8720e1114e6cb3a5624a34eefcf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:47:15.248 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 238, "filename" => "/downloads/UnpragmaticCovers/2025-11-23 Don't Bring Me Down - Electric Light Orchestra but it's the OldSchool RuneScape soundfont/Don't Bring Me Down - Electric Light Orchestra but it's the OldSchool RuneScape soundfont [H2e0R_jXYSA].mp4", "id" => "H2e0R_jXYSA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=H2e0R_jXYSA", "playlist_index" => 74, "timestamp" => 1763910033, "title" => "Don't Bring Me Down - Electric Light Orchestra but it's the OldSchool RuneScape soundfont", "upload_date" => "20251123"} 18:47:15.249 [debug] QUERY OK source="sources" db=0.4ms idle=1221.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:47:15.250 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=999.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:47:15.251 [debug] QUERY OK source="media_items" db=0.6ms queue=0.2ms idle=757.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-23 15:00:33Z], 1] 18:47:15.254 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=757.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Don't Bring Me Down - Electric Light Orchestra but it's the OldSchool RuneScape soundfont", "375fb624-cbaa-461c-a8aa-43fc5539160e", "H2e0R_jXYSA", false, "https://www.youtube.com/watch?v=H2e0R_jXYSA", 1, [], 238, false, 74, "/downloads/UnpragmaticCovers/2025-11-23 Don't Bring Me Down - Electric Light Orchestra but it's the OldSchool RuneScape soundfont/Don't Bring Me Down - Electric Light Orchestra but it's the OldSchool RuneScape soundfont [H2e0R_jXYSA].mp4", false, false, 99, ~U[2025-11-23 15:00:33Z], ~U[2026-06-27 16:47:15Z], ~U[2026-06-27 16:47:15Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Don't Bring Me Down - Electric Light Orchestra but it's the OldSchool RuneScape soundfont", "H2e0R_jXYSA", "https://www.youtube.com/watch?v=H2e0R_jXYSA", 1, 238, false, "/downloads/UnpragmaticCovers/2025-11-23 Don't Bring Me Down - Electric Light Orchestra but it's the OldSchool RuneScape soundfont/Don't Bring Me Down - Electric Light Orchestra but it's the OldSchool RuneScape soundfont [H2e0R_jXYSA].mp4", false, ~U[2025-11-23 15:00:33Z]] 18:47:15.255 [debug] QUERY OK source="sources" db=1.0ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:47:15.257 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.3ms idle=5.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:15.258 [debug] QUERY OK source="media_items" db=0.7ms idle=6.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [74] 18:47:15.258 [info] Kicking off download for media item #74 (H2e0R_jXYSA) 18:47:15.262 [debug] QUERY OK source="tasks" db=0.3ms idle=6.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [77, 74, ~U[2026-06-27 16:47:15Z], ~U[2026-06-27 16:47:15Z]] 18:47:15.262 [debug] Current batch of media processed. Will check again in 1000ms 18:47:15.864 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ya8pAEO--lc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/15/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/6e/cd/6ecd43b6d524c013c9f023cbfd32667cc3532536fe42608ce28abe2a423da6aa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:47:15.865 [debug] QUERY OK db=0.1ms queue=0.2ms idle=607.8ms begin [] 18:47:15.866 [debug] QUERY OK source="media_items" db=0.7ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "predicted_media_filepath" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/youtube/UnpragmaticCovers/2026-05-08 All Eyes On Me - Bo Burnham but it's the OldSchool RuneScape soundfont/All Eyes On Me - Bo Burnham but it's the OldSchool RuneScape soundfont [Ya8pAEO--lc].mp4", "/downloads/youtube/UnpragmaticCovers/2026-05-08 All Eyes On Me - Bo Burnham but it's the OldSchool RuneScape soundfont/All Eyes On Me - Bo Burnham but it's the OldSchool RuneScape soundfont [Ya8pAEO--lc]-thumb.jpg", ~U[2026-06-27 16:47:11Z], "/downloads/youtube/UnpragmaticCovers/2026-05-08 All Eyes On Me - Bo Burnham but it's the OldSchool RuneScape soundfont/All Eyes On Me - Bo Burnham but it's the OldSchool RuneScape soundfont [Ya8pAEO--lc].mp4", ~U[2026-06-27 16:47:15Z], 15] 18:47:15.866 [debug] QUERY OK source="media_metadata" db=0.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/15/metadata.json.gz", "/config/metadata/media_items/15/thumbnail.jpg", 15, ~U[2026-06-27 16:47:15Z], ~U[2026-06-27 16:47:15Z]] 18:47:15.867 [debug] QUERY OK db=0.1ms commit [] 18:47:15.867 [debug] QUERY OK source="media_items" db=0.4ms idle=608.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [4864633, ~U[2026-06-27 16:47:15Z], 15] 18:47:15.868 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:47:15.868 [info] {"args":{"id":15},"id":18,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":27448809,"event":"job:stop","queue_time":170415766,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:47:15.875 [info] {"args":{"id":18},"id":21,"meta":{},"system_time":1782578835875424404,"max_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:47:15.876 [debug] QUERY OK source="media_items" db=0.2ms idle=613.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" = ?) [18] 18:47:15.876 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:47:15.876 [debug] QUERY OK source="sources" db=0.1ms idle=9.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:47:15.877 [debug] QUERY OK source="media_profiles" db=0.3ms idle=8.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:15.877 [debug] QUERY OK source="media_items" db=0.2ms idle=8.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18] 18:47:15.878 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [18] 18:47:15.878 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:15.879 [debug] QUERY OK source="settings" db=0.3ms 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 [] 18:47:15.879 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:47:15.880 [debug] Running yt-dlp command for action: get_downloadable_status 18:47:15.881 [debug] QUERY OK source="settings" db=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:47:15.881 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:47:15.881 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:47:15.881 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=z_EssL3tw0c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3a/98/3a98a57c2a6a6b1ca30b47918b19c74807134a078a905b0b62d625822433e080.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:47:16.263 [debug] Current batch of media processed. Will check again in 1000ms 18:47:17.263 [debug] Current batch of media processed. Will check again in 1000ms 18:47:17.626 [info] {"source":"oban","duration":1279,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:18.264 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=us8LtEwYjzY\n\nArtwork credit to Ren.\nSupport us on Ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 214, "filename" => "/downloads/UnpragmaticCovers/2025-11-21 Hypa Hypa - Electric Callboy but it's the OldSchool RuneScape soundfont/Hypa Hypa - Electric Callboy but it's the OldSchool RuneScape soundfont [YRjXtgQ4uwI].mp4", "id" => "YRjXtgQ4uwI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=YRjXtgQ4uwI", "playlist_index" => 75, "timestamp" => 1763737273, "title" => "Hypa Hypa - Electric Callboy but it's the OldSchool RuneScape soundfont", "upload_date" => "20251121"} 18:47:18.270 [debug] QUERY OK source="sources" db=5.3ms idle=1239.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:47:18.271 [debug] QUERY OK source="sources" db=0.4ms idle=1244.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:47:18.272 [debug] QUERY OK source="media_items" db=0.9ms idle=1011.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-21 15:01:13Z], 1] 18:47:18.274 [debug] QUERY OK source="media_items" db=1.0ms idle=645.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=us8LtEwYjzY\n\nArtwork credit to Ren.\nSupport us on Ko-fi: https://ko-fi.com/unpragmaticcovers", "Hypa Hypa - Electric Callboy but it's the OldSchool RuneScape soundfont", "ef192711-5f0a-4417-b17c-39be21255f0b", "YRjXtgQ4uwI", false, "https://www.youtube.com/watch?v=YRjXtgQ4uwI", 1, [], 214, false, 75, "/downloads/UnpragmaticCovers/2025-11-21 Hypa Hypa - Electric Callboy but it's the OldSchool RuneScape soundfont/Hypa Hypa - Electric Callboy but it's the OldSchool RuneScape soundfont [YRjXtgQ4uwI].mp4", false, false, 99, ~U[2025-11-21 15:01:13Z], ~U[2026-06-27 16:47:18Z], ~U[2026-06-27 16:47:18Z], "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=us8LtEwYjzY\n\nArtwork credit to Ren.\nSupport us on Ko-fi: https://ko-fi.com/unpragmaticcovers", "Hypa Hypa - Electric Callboy but it's the OldSchool RuneScape soundfont", "YRjXtgQ4uwI", "https://www.youtube.com/watch?v=YRjXtgQ4uwI", 1, 214, false, "/downloads/UnpragmaticCovers/2025-11-21 Hypa Hypa - Electric Callboy but it's the OldSchool RuneScape soundfont/Hypa Hypa - Electric Callboy but it's the OldSchool RuneScape soundfont [YRjXtgQ4uwI].mp4", false, ~U[2025-11-21 15:01:13Z]] 18:47:18.274 [debug] QUERY OK source="sources" db=0.3ms idle=12.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:47:18.275 [debug] QUERY OK source="media_profiles" db=0.5ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:18.276 [debug] QUERY OK source="media_items" db=0.7ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [75] 18:47:18.278 [info] Kicking off download for media item #75 (YRjXtgQ4uwI) 18:47:18.281 [debug] QUERY OK source="tasks" db=0.2ms idle=6.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [78, 75, ~U[2026-06-27 16:47:18Z], ~U[2026-06-27 16:47:18Z]] 18:47:18.281 [debug] Current batch of media processed. Will check again in 1000ms 18:47:19.242 [info] GET /media_profiles/1 18:47:19.242 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 18:47:19.243 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=967.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:19.244 [debug] QUERY OK source="sources" db=0.3ms idle=967.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 18:47:19.245 [debug] QUERY OK source="settings" db=0.2ms queue=0.3ms idle=964.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.246 [debug] QUERY OK source="settings" db=0.3ms idle=964.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.246 [debug] QUERY OK source="settings" db=0.2ms idle=965.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.248 [info] Sent 200 in 5ms 18:47:19.282 [debug] Current batch of media processed. Will check again in 1000ms 18:47:19.344 [info] CONNECTED TO Phoenix.LiveView.Socket in 45µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "GlAsYiMqLwwbHhMgYXQPISYsNjA8OGogy3hTToBMRhCN8FDiguQIYq-A", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:47:19.356 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:47:19.356 [debug] Replied in 135µs 18:47:20.282 [debug] Current batch of media processed. Will check again in 1000ms 18:47:20.371 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=z_EssL3tw0c --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3a/98/3a98a57c2a6a6b1ca30b47918b19c74807134a078a905b0b62d625822433e080.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:47:20.372 [debug] Running yt-dlp command for action: download 18:47:20.372 [debug] QUERY OK source="settings" db=0.1ms idle=1126.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.372 [debug] QUERY OK source="settings" db=0.1ms idle=1126.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.373 [debug] QUERY OK source="settings" db=0.2ms 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:47:20.373 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=z_EssL3tw0c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/88/a4/88a4836cceb8bfca1e0375ecd35874be37331bd2533a5e0c79e622219a008362.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:47:21.283 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Happy Sailing Day!\n\n00:00:00 Ocean Man - Ween\n00:02:00 Come Sail Away - Styx\n00:07:45 You Spin Me Round - Dead or Alive\n00:11:02 Bohemian Rhapsody - Queen\n00:16:53 He's a Pirate - Klaus Badelt\n00:18:08 Wouldn't It Be Nice - The Beach Boys\n00:20:37 Go Your Own Way - Fleetwood Mac\n00:24:16 Satisfaction - Benny Benassi\n00:28:23 Afterlife - Avenged Sevenfold\n00:34:04 The Kids Aren't Alright - The Offspring\n00:37:04 DotA - Basshunter\n00:40:50 Everlong - Foo Fighters\n00:44:57 Livin' in the Sunlight - Tiny Tim\n00:46:53 Never Going Back Again - Fleetwood Mac\n00:49:10 Hips Don't Lie - Shakira\n00:52:46 One More Time - Daft Punk\n00:58:07 Trololo\n01:00:57 Everytime We Touch - Cascada\n01:04:00 Boom Boom Boom Boom - Vengaboys\n01:07:24 Born This Way - Lady Gaga\n01:11:09 In Too Deep - Sum-41\n01:14:37 Believe - Cher\n01:18:27 Sail Away - Enya\n01:22:12 Smooth Criminal - Michael Jackson\n01:25:57 Toto - Africa\n01:30:42 Axel F\n01:33:38 Dancing Queen - ABBA\n01:37:17 Spirit of Radio - Rush\n01:42:19 Never Meant - American Football\n01:46:45 Simple Man - Lynyrd Skynyrd\n01:52:39 September - Earth Wind and Fire\n01:56:22 Party Rock Anthem - LMFAO\n\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 7239, "filename" => "/downloads/UnpragmaticCovers/2025-11-19 Songs to Sail to (RuneScape Soundfont Compilation)/Songs to Sail to (RuneScape Soundfont Compilation) [SCQGFW60x_Q].mp4", "id" => "SCQGFW60x_Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SCQGFW60x_Q", "playlist_index" => 76, "timestamp" => 1763539239, "title" => "Songs to Sail to (RuneScape Soundfont Compilation)", "upload_date" => "20251119"} 18:47:21.284 [debug] QUERY OK source="sources" db=0.2ms idle=911.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:47:21.284 [debug] QUERY OK source="sources" db=0.2ms idle=911.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:47:21.285 [debug] QUERY OK source="media_items" db=0.4ms idle=911.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-19 08:00:39Z], 1] 18:47:21.286 [debug] QUERY OK source="media_items" db=0.8ms idle=260.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Happy Sailing Day!\n\n00:00:00 Ocean Man - Ween\n00:02:00 Come Sail Away - Styx\n00:07:45 You Spin Me Round - Dead or Alive\n00:11:02 Bohemian Rhapsody - Queen\n00:16:53 He's a Pirate - Klaus Badelt\n00:18:08 Wouldn't It Be Nice - The Beach Boys\n00:20:37 Go Your Own Way - Fleetwood Mac\n00:24:16 Satisfaction - Benny Benassi\n00:28:23 Afterlife - Avenged Sevenfold\n00:34:04 The Kids Aren't Alright - The Offspring\n00:37:04 DotA - Basshunter\n00:40:50 Everlong - Foo Fighters\n00:44:57 Livin' in the Sunlight - Tiny Tim\n00:46:53 Never Going Back Again - Fleetwood Mac\n00:49:10 Hips Don't Lie - Shakira\n00:52:46 One More Time - Daft Punk\n00:58:07 Trololo\n01:00:57 Everytime We Touch - Cascada\n01:04:00 Boom Boom Boom Boom - Vengaboys\n01:07:24 Born This Way - Lady Gaga\n01:11:09 In Too Deep - Sum-41\n01:14:37 Believe - Cher\n01:18:27 Sail Away - Enya\n01:22:12 Smooth Criminal - Michael Jackson\n01:25:57 Toto - Africa\n01:30:42 Axel F\n01:33:38 Dancing Queen - ABBA\n01:37:17 Spirit of Radio - Rush\n01:42:19 Never Meant - American Football\n01:46:45 Simple Man - Lynyrd Skynyrd\n01:52:39 September - Earth Wind and Fire\n01:56:22 Party Rock Anthem - LMFAO\n\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Songs to Sail to (RuneScape Soundfont Compilation)", "688a17b3-1a99-4a77-ba24-e7227df2ad96", "SCQGFW60x_Q", false, "https://www.youtube.com/watch?v=SCQGFW60x_Q", 1, [], 7239, false, 76, "/downloads/UnpragmaticCovers/2025-11-19 Songs to Sail to (RuneScape Soundfont Compilation)/Songs to Sail to (RuneScape Soundfont Compilation) [SCQGFW60x_Q].mp4", false, false, 99, ~U[2025-11-19 08:00:39Z], ~U[2026-06-27 16:47:21Z], ~U[2026-06-27 16:47:21Z], "Happy Sailing Day!\n\n00:00:00 Ocean Man - Ween\n00:02:00 Come Sail Away - Styx\n00:07:45 You Spin Me Round - Dead or Alive\n00:11:02 Bohemian Rhapsody - Queen\n00:16:53 He's a Pirate - Klaus Badelt\n00:18:08 Wouldn't It Be Nice - The Beach Boys\n00:20:37 Go Your Own Way - Fleetwood Mac\n00:24:16 Satisfaction - Benny Benassi\n00:28:23 Afterlife - Avenged Sevenfold\n00:34:04 The Kids Aren't Alright - The Offspring\n00:37:04 DotA - Basshunter\n00:40:50 Everlong - Foo Fighters\n00:44:57 Livin' in the Sunlight - Tiny Tim\n00:46:53 Never Going Back Again - Fleetwood Mac\n00:49:10 Hips Don't Lie - Shakira\n00:52:46 One More Time - Daft Punk\n00:58:07 Trololo\n01:00:57 Everytime We Touch - Cascada\n01:04:00 Boom Boom Boom Boom - Vengaboys\n01:07:24 Born This Way - Lady Gaga\n01:11:09 In Too Deep - Sum-41\n01:14:37 Believe - Cher\n01:18:27 Sail Away - Enya\n01:22:12 Smooth Criminal - Michael Jackson\n01:25:57 Toto - Africa\n01:30:42 Axel F\n01:33:38 Dancing Queen - ABBA\n01:37:17 Spirit of Radio - Rush\n01:42:19 Never Meant - American Football\n01:46:45 Simple Man - Lynyrd Skynyrd\n01:52:39 September - Earth Wind and Fire\n01:56:22 Party Rock Anthem - LMFAO\n\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Songs to Sail to (RuneScape Soundfont Compilation)", "SCQGFW60x_Q", "https://www.youtube.com/watch?v=SCQGFW60x_Q", 1, 7239, false, "/downloads/UnpragmaticCovers/2025-11-19 Songs to Sail to (RuneScape Soundfont Compilation)/Songs to Sail to (RuneScape Soundfont Compilation) [SCQGFW60x_Q].mp4", false, ~U[2025-11-19 08:00:39Z]] 18:47:21.287 [debug] QUERY OK source="sources" db=0.2ms idle=18.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:47:21.288 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 18:47:21.288 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [76] 18:47:21.288 [info] Kicking off download for media item #76 (SCQGFW60x_Q) 18:47:21.290 [debug] QUERY OK source="tasks" db=0.1ms idle=3.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [79, 76, ~U[2026-06-27 16:47:21Z], ~U[2026-06-27 16:47:21Z]] 18:47:21.290 [debug] Current batch of media processed. Will check again in 1000ms 18:47:22.292 [debug] Current batch of media processed. Will check again in 1000ms 18:47:23.293 [debug] Current batch of media processed. Will check again in 1000ms 18:47:24.293 [debug] Current batch of media processed. Will check again in 1000ms 18:47:25.295 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 244, "filename" => "/downloads/UnpragmaticCovers/2025-11-18 Livin' La Vida Loca - Ricky Martin but it's the OldSchool RuneScape soundfont/Livin' La Vida Loca - Ricky Martin but it's the OldSchool RuneScape soundfont [9ppXEWejOBw].mp4", "id" => "9ppXEWejOBw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9ppXEWejOBw", "playlist_index" => 77, "timestamp" => 1763478018, "title" => "Livin' La Vida Loca - Ricky Martin but it's the OldSchool RuneScape soundfont", "upload_date" => "20251118"} 18:47:25.296 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=269.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:47:25.297 [debug] QUERY OK source="sources" db=0.3ms idle=271.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:47:25.301 [debug] QUERY OK source="media_items" db=3.7ms idle=271.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-18 15:00:18Z], 1] 18:47:25.306 [debug] QUERY OK source="media_items" db=2.9ms queue=0.2ms idle=277.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Livin' La Vida Loca - Ricky Martin but it's the OldSchool RuneScape soundfont", "0e9a73e5-12f3-42b6-9499-136080f05024", "9ppXEWejOBw", false, "https://www.youtube.com/watch?v=9ppXEWejOBw", 1, [], 244, false, 77, "/downloads/UnpragmaticCovers/2025-11-18 Livin' La Vida Loca - Ricky Martin but it's the OldSchool RuneScape soundfont/Livin' La Vida Loca - Ricky Martin but it's the OldSchool RuneScape soundfont [9ppXEWejOBw].mp4", false, false, 99, ~U[2025-11-18 15:00:18Z], ~U[2026-06-27 16:47:25Z], ~U[2026-06-27 16:47:25Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Livin' La Vida Loca - Ricky Martin but it's the OldSchool RuneScape soundfont", "9ppXEWejOBw", "https://www.youtube.com/watch?v=9ppXEWejOBw", 1, 244, false, "/downloads/UnpragmaticCovers/2025-11-18 Livin' La Vida Loca - Ricky Martin but it's the OldSchool RuneScape soundfont/Livin' La Vida Loca - Ricky Martin but it's the OldSchool RuneScape soundfont [9ppXEWejOBw].mp4", false, ~U[2025-11-18 15:00:18Z]] 18:47:25.308 [debug] QUERY OK source="sources" db=1.5ms queue=0.1ms idle=24.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:47:25.309 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=12.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:25.311 [debug] QUERY OK source="media_items" db=1.0ms idle=12.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [77] 18:47:25.311 [info] Kicking off download for media item #77 (9ppXEWejOBw) 18:47:25.317 [debug] QUERY OK source="tasks" db=0.9ms idle=7.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [80, 77, ~U[2026-06-27 16:47:25Z], ~U[2026-06-27 16:47:25Z]] 18:47:25.318 [debug] Current batch of media processed. Will check again in 1000ms 18:47:26.319 [debug] Current batch of media processed. Will check again in 1000ms 18:47:27.319 [debug] Current batch of media processed. Will check again in 1000ms 18:47:28.321 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "With today being my birthday, I wanted to cover the song that I've always associated closest with RuneScape, regardless of how niche it is. Not only did I have this on repeat while playing RuneScape over a decade ago, but I've always interpreted this song as being about trying to stay focused on the present, rather than fixating on childhood nostalgia. Exploring this song's bizarre and unique composition in my childhood game's soundfont was both enjoyable and therapeutic for me.\n\nI'm privileged to be able to to make these covers and so grateful to see them resonate with so many people. Here's to 2 years of Unpragmatic Covers.\n\n-Sam\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 282, "filename" => "/downloads/UnpragmaticCovers/2025-11-16 Peacebone - Animal Collective but it's the OldSchool RuneScape soundfont/Peacebone - Animal Collective but it's the OldSchool RuneScape soundfont [Ly69tofcyL8].mp4", "id" => "Ly69tofcyL8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Ly69tofcyL8", "playlist_index" => 78, "timestamp" => 1763305241, "title" => "Peacebone - Animal Collective but it's the OldSchool RuneScape soundfont", "upload_date" => "20251116"} 18:47:28.322 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1295.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:47:28.323 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1297.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:47:28.324 [debug] QUERY OK source="media_items" db=0.3ms idle=1298.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-16 15:00:41Z], 1] 18:47:28.326 [debug] QUERY OK source="media_items" db=1.5ms idle=1039.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["With today being my birthday, I wanted to cover the song that I've always associated closest with RuneScape, regardless of how niche it is. Not only did I have this on repeat while playing RuneScape over a decade ago, but I've always interpreted this song as being about trying to stay focused on the present, rather than fixating on childhood nostalgia. Exploring this song's bizarre and unique composition in my childhood game's soundfont was both enjoyable and therapeutic for me.\n\nI'm privileged to be able to to make these covers and so grateful to see them resonate with so many people. Here's to 2 years of Unpragmatic Covers.\n\n-Sam\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Peacebone - Animal Collective but it's the OldSchool RuneScape soundfont", "6d41f663-5247-4c1e-8232-e94d2bef55e2", "Ly69tofcyL8", false, "https://www.youtube.com/watch?v=Ly69tofcyL8", 1, [], 282, false, 78, "/downloads/UnpragmaticCovers/2025-11-16 Peacebone - Animal Collective but it's the OldSchool RuneScape soundfont/Peacebone - Animal Collective but it's the OldSchool RuneScape soundfont [Ly69tofcyL8].mp4", false, false, 99, ~U[2025-11-16 15:00:41Z], ~U[2026-06-27 16:47:28Z], ~U[2026-06-27 16:47:28Z], "With today being my birthday, I wanted to cover the song that I've always associated closest with RuneScape, regardless of how niche it is. Not only did I have this on repeat while playing RuneScape over a decade ago, but I've always interpreted this song as being about trying to stay focused on the present, rather than fixating on childhood nostalgia. Exploring this song's bizarre and unique composition in my childhood game's soundfont was both enjoyable and therapeutic for me.\n\nI'm privileged to be able to to make these covers and so grateful to see them resonate with so many people. Here's to 2 years of Unpragmatic Covers.\n\n-Sam\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Peacebone - Animal Collective but it's the OldSchool RuneScape soundfont", "Ly69tofcyL8", "https://www.youtube.com/watch?v=Ly69tofcyL8", 1, 282, false, "/downloads/UnpragmaticCovers/2025-11-16 Peacebone - Animal Collective but it's the OldSchool RuneScape soundfont/Peacebone - Animal Collective but it's the OldSchool RuneScape soundfont [Ly69tofcyL8].mp4", false, ~U[2025-11-16 15:00:41Z]] 18:47:28.327 [debug] QUERY OK source="sources" db=0.3ms idle=37.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:47:28.328 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:28.329 [debug] QUERY OK source="media_items" db=0.5ms idle=5.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [78] 18:47:28.329 [info] Kicking off download for media item #78 (Ly69tofcyL8) 18:47:28.333 [debug] QUERY OK source="tasks" db=0.5ms idle=5.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [81, 78, ~U[2026-06-27 16:47:28Z], ~U[2026-06-27 16:47:28Z]] 18:47:28.334 [debug] Current batch of media processed. Will check again in 1000ms 18:47:29.335 [debug] Current batch of media processed. Will check again in 1000ms 18:47:30.337 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=U3Icp3_s8-k\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 185, "filename" => "/downloads/UnpragmaticCovers/2025-11-14 Nyan Cat but it's the OldSchool RuneScape soundfont/Nyan Cat but it's the OldSchool RuneScape soundfont [_PEwdv6LImk].mp4", "id" => "_PEwdv6LImk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_PEwdv6LImk", "playlist_index" => 79, "timestamp" => 1763132472, "title" => "Nyan Cat but it's the OldSchool RuneScape soundfont", "upload_date" => "20251114"} 18:47:30.338 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=312.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:47:30.339 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=312.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:47:30.340 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=314.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-14 15:01:12Z], 1] 18:47:30.344 [debug] QUERY OK source="media_items" db=3.0ms idle=315.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=U3Icp3_s8-k\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Nyan Cat but it's the OldSchool RuneScape soundfont", "273bf105-2ea8-4771-bd7a-91c1f65c7b42", "_PEwdv6LImk", false, "https://www.youtube.com/watch?v=_PEwdv6LImk", 1, [], 185, false, 79, "/downloads/UnpragmaticCovers/2025-11-14 Nyan Cat but it's the OldSchool RuneScape soundfont/Nyan Cat but it's the OldSchool RuneScape soundfont [_PEwdv6LImk].mp4", false, false, 99, ~U[2025-11-14 15:01:12Z], ~U[2026-06-27 16:47:30Z], ~U[2026-06-27 16:47:30Z], "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=U3Icp3_s8-k\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Nyan Cat but it's the OldSchool RuneScape soundfont", "_PEwdv6LImk", "https://www.youtube.com/watch?v=_PEwdv6LImk", 1, 185, false, "/downloads/UnpragmaticCovers/2025-11-14 Nyan Cat but it's the OldSchool RuneScape soundfont/Nyan Cat but it's the OldSchool RuneScape soundfont [_PEwdv6LImk].mp4", false, ~U[2025-11-14 15:01:12Z]] 18:47:30.345 [debug] QUERY OK source="sources" db=0.2ms idle=49.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:47:30.345 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:30.346 [debug] QUERY OK source="media_items" db=0.5ms idle=6.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [79] 18:47:30.346 [info] Kicking off download for media item #79 (_PEwdv6LImk) 18:47:30.349 [debug] QUERY OK source="tasks" db=0.2ms queue=0.1ms idle=4.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [82, 79, ~U[2026-06-27 16:47:30Z], ~U[2026-06-27 16:47:30Z]] 18:47:30.350 [debug] Current batch of media processed. Will check again in 1000ms 18:47:31.350 [debug] Current batch of media processed. Will check again in 1000ms 18:47:32.351 [debug] Current batch of media processed. Will check again in 1000ms 18:47:32.675 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=z_EssL3tw0c --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/88/a4/88a4836cceb8bfca1e0375ecd35874be37331bd2533a5e0c79e622219a008362.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:47:32.682 [debug] Running yt-dlp command for action: download_thumbnail 18:47:32.684 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=658.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:32.685 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=659.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:32.685 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=659.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:32.686 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=z_EssL3tw0c --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/18/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/73/44/734467ef5a07a7dd5314b6c3497e1d8b0df106489e017f126bcf99666505b250.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:47:33.216 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7jysADApIQU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/01/a8/01a8b011a0fb97bfa946b5dde685d582c079c8720e1114e6cb3a5624a34eefcf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:47:33.237 [debug] Running yt-dlp command for action: download_thumbnail 18:47:33.239 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1213.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:33.240 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=925.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:33.241 [debug] QUERY OK source="settings" db=0.4ms 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 [] 18:47:33.241 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7jysADApIQU --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/17/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/7c/95/7c95c2dcbee103ac0aa6d48a5644542136423dc15550dca178b841c4522e776e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:47:33.352 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "YA FIT TO LEARN THE PROPER MEANING OF A\n\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 306, "filename" => "/downloads/UnpragmaticCovers/2025-11-11 No Love - Death Grips but it's the OldSchool RuneScape soundfont/No Love - Death Grips but it's the OldSchool RuneScape soundfont [uaVvR_KZpmI].mp4", "id" => "uaVvR_KZpmI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=uaVvR_KZpmI", "playlist_index" => 80, "timestamp" => 1762873305, "title" => "No Love - Death Grips but it's the OldSchool RuneScape soundfont", "upload_date" => "20251111"} 18:47:33.353 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:47:33.354 [debug] QUERY OK source="sources" db=0.7ms idle=113.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:47:33.355 [debug] QUERY OK source="media_items" db=0.3ms queue=0.4ms idle=114.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-11 15:01:45Z], 1] 18:47:33.357 [debug] QUERY OK source="media_items" db=0.7ms idle=115.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["YA FIT TO LEARN THE PROPER MEANING OF A\n\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "No Love - Death Grips but it's the OldSchool RuneScape soundfont", "cc44e4e4-09b5-4f2f-8b6b-c4dbef65e2ea", "uaVvR_KZpmI", false, "https://www.youtube.com/watch?v=uaVvR_KZpmI", 1, [], 306, false, 80, "/downloads/UnpragmaticCovers/2025-11-11 No Love - Death Grips but it's the OldSchool RuneScape soundfont/No Love - Death Grips but it's the OldSchool RuneScape soundfont [uaVvR_KZpmI].mp4", false, false, 99, ~U[2025-11-11 15:01:45Z], ~U[2026-06-27 16:47:33Z], ~U[2026-06-27 16:47:33Z], "YA FIT TO LEARN THE PROPER MEANING OF A\n\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "No Love - Death Grips but it's the OldSchool RuneScape soundfont", "uaVvR_KZpmI", "https://www.youtube.com/watch?v=uaVvR_KZpmI", 1, 306, false, "/downloads/UnpragmaticCovers/2025-11-11 No Love - Death Grips but it's the OldSchool RuneScape soundfont/No Love - Death Grips but it's the OldSchool RuneScape soundfont [uaVvR_KZpmI].mp4", false, ~U[2025-11-11 15:01:45Z]] 18:47:33.357 [debug] QUERY OK source="sources" db=0.4ms idle=38.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:47:33.358 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.3ms idle=4.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:33.359 [debug] QUERY OK source="media_items" db=0.2ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [80] 18:47:33.359 [info] Kicking off download for media item #80 (uaVvR_KZpmI) 18:47:33.361 [debug] QUERY OK source="tasks" db=0.4ms idle=3.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [83, 80, ~U[2026-06-27 16:47:33Z], ~U[2026-06-27 16:47:33Z]] 18:47:33.362 [debug] Current batch of media processed. Will check again in 1000ms 18:47:34.362 [debug] Current batch of media processed. Will check again in 1000ms 18:47:35.363 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "My favourite cover in channel history (thus far)\n\nThis is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=dHjgw-rP-aE\n\nArtwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 189, "filename" => "/downloads/UnpragmaticCovers/2025-11-09 CASH - Brockhampton but it's the OldSchool RuneScape soundfont/CASH - Brockhampton but it's the OldSchool RuneScape soundfont [xLe3DAeUpuU].mp4", "id" => "xLe3DAeUpuU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xLe3DAeUpuU", "playlist_index" => 81, "timestamp" => 1762700501, "title" => "CASH - Brockhampton but it's the OldSchool RuneScape soundfont", "upload_date" => "20251109"} 18:47:35.364 [debug] QUERY OK source="sources" db=0.4ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:47:35.365 [debug] QUERY OK source="sources" db=0.4ms idle=338.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:47:35.365 [debug] QUERY OK source="media_items" db=0.4ms idle=339.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-09 15:01:41Z], 1] 18:47:35.367 [debug] QUERY OK source="media_items" db=0.6ms idle=340.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["My favourite cover in channel history (thus far)\n\nThis is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=dHjgw-rP-aE\n\nArtwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "CASH - Brockhampton but it's the OldSchool RuneScape soundfont", "97e4ff7d-e098-4b02-a166-dcb4580a6d2c", "xLe3DAeUpuU", false, "https://www.youtube.com/watch?v=xLe3DAeUpuU", 1, [], 189, false, 81, "/downloads/UnpragmaticCovers/2025-11-09 CASH - Brockhampton but it's the OldSchool RuneScape soundfont/CASH - Brockhampton but it's the OldSchool RuneScape soundfont [xLe3DAeUpuU].mp4", false, false, 99, ~U[2025-11-09 15:01:41Z], ~U[2026-06-27 16:47:35Z], ~U[2026-06-27 16:47:35Z], "My favourite cover in channel history (thus far)\n\nThis is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=dHjgw-rP-aE\n\nArtwork credit to Lilly.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "CASH - Brockhampton but it's the OldSchool RuneScape soundfont", "xLe3DAeUpuU", "https://www.youtube.com/watch?v=xLe3DAeUpuU", 1, 189, false, "/downloads/UnpragmaticCovers/2025-11-09 CASH - Brockhampton but it's the OldSchool RuneScape soundfont/CASH - Brockhampton but it's the OldSchool RuneScape soundfont [xLe3DAeUpuU].mp4", false, ~U[2025-11-09 15:01:41Z]] 18:47:35.367 [debug] QUERY OK source="sources" db=0.2ms idle=42.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:47:35.367 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:35.368 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [81] 18:47:35.368 [info] Kicking off download for media item #81 (xLe3DAeUpuU) 18:47:35.370 [debug] QUERY OK source="tasks" db=0.1ms idle=2.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [84, 81, ~U[2026-06-27 16:47:35Z], ~U[2026-06-27 16:47:35Z]] 18:47:35.370 [debug] Current batch of media processed. Will check again in 1000ms 18:47:36.370 [debug] Current batch of media processed. Will check again in 1000ms 18:47:37.372 [debug] Current batch of media processed. Will check again in 1000ms 18:47:37.497 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7jysADApIQU --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/17/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/7c/95/7c95c2dcbee103ac0aa6d48a5644542136423dc15550dca178b841c4522e776e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:47:37.498 [debug] QUERY OK db=0.5ms idle=472.4ms begin [] 18:47:37.499 [debug] QUERY OK source="media_items" db=0.9ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "predicted_media_filepath" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/youtube/UnpragmaticCovers/2026-05-01 Wrecking Ball - Miley Cyrus but it's the OldSchool RuneScape soundfont/Wrecking Ball - Miley Cyrus but it's the OldSchool RuneScape soundfont [7jysADApIQU].mp4", "/downloads/youtube/UnpragmaticCovers/2026-05-01 Wrecking Ball - Miley Cyrus but it's the OldSchool RuneScape soundfont/Wrecking Ball - Miley Cyrus but it's the OldSchool RuneScape soundfont [7jysADApIQU]-thumb.jpg", ~U[2026-06-27 16:47:33Z], "/downloads/youtube/UnpragmaticCovers/2026-05-01 Wrecking Ball - Miley Cyrus but it's the OldSchool RuneScape soundfont/Wrecking Ball - Miley Cyrus but it's the OldSchool RuneScape soundfont [7jysADApIQU].mp4", ~U[2026-06-27 16:47:37Z], 17] 18:47:37.500 [debug] QUERY OK source="media_metadata" db=0.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/17/metadata.json.gz", "/config/metadata/media_items/17/thumbnail.jpg", 17, ~U[2026-06-27 16:47:37Z], ~U[2026-06-27 16:47:37Z]] 18:47:37.500 [debug] QUERY OK db=0.1ms commit [] 18:47:37.502 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=475.4ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [5774244, ~U[2026-06-27 16:47:37Z], 17] 18:47:37.502 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:47:37.502 [info] {"args":{"id":17},"id":20,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":27630785,"event":"job:stop","queue_time":186870651,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:47:37.510 [info] {"args":{"id":19},"id":22,"meta":{},"system_time":1782578857510538185,"max_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:47:37.511 [debug] QUERY OK source="media_items" db=0.4ms idle=177.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" = ?) [19] 18:47:37.511 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:47:37.512 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=11.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:47:37.513 [debug] QUERY OK source="media_profiles" db=0.4ms 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:47:37.514 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=11.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [19] 18:47:37.516 [debug] QUERY OK source="media_metadata" db=0.2ms idle=5.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" = ?) [19] 18:47:37.517 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:37.518 [debug] QUERY OK source="settings" db=0.1ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:47:37.518 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:47:37.519 [debug] Running yt-dlp command for action: get_downloadable_status 18:47:37.520 [debug] QUERY OK source="settings" db=0.1ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:47:37.520 [debug] QUERY OK source="settings" db=0.2ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:47:37.521 [debug] QUERY OK source="settings" db=0.3ms 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 [] 18:47:37.521 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=R_QKo_ukrrM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a8/37/a837b1f98b8cd9f569d8ba5aa53fba8e6773e2c4683cc66282a1ebcb16139e56.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:47:38.372 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 273, "filename" => "/downloads/UnpragmaticCovers/2025-11-07 Heart Shaped Box - Nirvana but it's the OldSchool RuneScape soundfont/Heart Shaped Box - Nirvana but it's the OldSchool RuneScape soundfont [kXNrOCjy7fM].mp4", "id" => "kXNrOCjy7fM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kXNrOCjy7fM", "playlist_index" => 82, "timestamp" => 1762527694, "title" => "Heart Shaped Box - Nirvana but it's the OldSchool RuneScape soundfont", "upload_date" => "20251107"} 18:47:38.374 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=854.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:47:38.375 [debug] QUERY OK source="sources" db=0.6ms queue=0.7ms idle=854.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:47:38.377 [debug] QUERY OK source="media_items" db=0.8ms queue=0.7ms idle=855.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-07 15:01:34Z], 1] 18:47:38.380 [debug] QUERY OK source="media_items" db=1.8ms idle=857.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Heart Shaped Box - Nirvana but it's the OldSchool RuneScape soundfont", "94454302-beb2-41fc-9f76-9234b4f5ab36", "kXNrOCjy7fM", false, "https://www.youtube.com/watch?v=kXNrOCjy7fM", 1, [], 273, false, 82, "/downloads/UnpragmaticCovers/2025-11-07 Heart Shaped Box - Nirvana but it's the OldSchool RuneScape soundfont/Heart Shaped Box - Nirvana but it's the OldSchool RuneScape soundfont [kXNrOCjy7fM].mp4", false, false, 99, ~U[2025-11-07 15:01:34Z], ~U[2026-06-27 16:47:38Z], ~U[2026-06-27 16:47:38Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Heart Shaped Box - Nirvana but it's the OldSchool RuneScape soundfont", "kXNrOCjy7fM", "https://www.youtube.com/watch?v=kXNrOCjy7fM", 1, 273, false, "/downloads/UnpragmaticCovers/2025-11-07 Heart Shaped Box - Nirvana but it's the OldSchool RuneScape soundfont/Heart Shaped Box - Nirvana but it's the OldSchool RuneScape soundfont [kXNrOCjy7fM].mp4", false, ~U[2025-11-07 15:01:34Z]] 18:47:38.382 [debug] QUERY OK source="sources" db=0.6ms queue=0.4ms idle=43.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:47:38.383 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.7ms idle=8.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:38.385 [debug] QUERY OK source="media_items" db=0.9ms queue=0.2ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [82] 18:47:38.385 [info] Kicking off download for media item #82 (kXNrOCjy7fM) 18:47:38.392 [debug] QUERY OK source="tasks" db=0.5ms queue=0.4ms idle=9.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [85, 82, ~U[2026-06-27 16:47:38Z], ~U[2026-06-27 16:47:38Z]] 18:47:38.392 [debug] Current batch of media processed. Will check again in 1000ms 18:47:39.393 [debug] Current batch of media processed. Will check again in 1000ms 18:47:40.398 [debug] Current batch of media processed. Will check again in 1000ms 18:47:41.401 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "But you're speccing and smiting me...\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 579, "filename" => "/downloads/UnpragmaticCovers/2025-11-04 Pushit - Tool but it's the OldSchool RuneScape soundfont/Pushit - Tool but it's the OldSchool RuneScape soundfont [j5__zq4kkBA].mp4", "id" => "j5__zq4kkBA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=j5__zq4kkBA", "playlist_index" => 83, "timestamp" => 1762268491, "title" => "Pushit - Tool but it's the OldSchool RuneScape soundfont", "upload_date" => "20251104"} 18:47:41.403 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1376.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:47:41.404 [debug] QUERY OK source="sources" db=1.0ms idle=1377.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:47:41.406 [debug] QUERY OK source="media_items" db=0.9ms queue=0.6ms idle=1378.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-04 15:01:31Z], 1] 18:47:41.409 [debug] QUERY OK source="media_items" db=1.8ms idle=1064.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["But you're speccing and smiting me...\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Pushit - Tool but it's the OldSchool RuneScape soundfont", "b9504c95-b7af-4acb-9969-d8c01f759c3d", "j5__zq4kkBA", false, "https://www.youtube.com/watch?v=j5__zq4kkBA", 1, [], 579, false, 83, "/downloads/UnpragmaticCovers/2025-11-04 Pushit - Tool but it's the OldSchool RuneScape soundfont/Pushit - Tool but it's the OldSchool RuneScape soundfont [j5__zq4kkBA].mp4", false, false, 99, ~U[2025-11-04 15:01:31Z], ~U[2026-06-27 16:47:41Z], ~U[2026-06-27 16:47:41Z], "But you're speccing and smiting me...\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Pushit - Tool but it's the OldSchool RuneScape soundfont", "j5__zq4kkBA", "https://www.youtube.com/watch?v=j5__zq4kkBA", 1, 579, false, "/downloads/UnpragmaticCovers/2025-11-04 Pushit - Tool but it's the OldSchool RuneScape soundfont/Pushit - Tool but it's the OldSchool RuneScape soundfont [j5__zq4kkBA].mp4", false, ~U[2025-11-04 15:01:31Z]] 18:47:41.412 [debug] QUERY OK source="sources" db=1.3ms queue=0.4ms idle=64.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:47:41.414 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=10.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:41.416 [debug] QUERY OK source="media_items" db=0.9ms idle=10.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [83] 18:47:41.416 [info] Kicking off download for media item #83 (j5__zq4kkBA) 18:47:41.421 [debug] QUERY OK source="tasks" db=0.2ms queue=0.1ms idle=8.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [86, 83, ~U[2026-06-27 16:47:41Z], ~U[2026-06-27 16:47:41Z]] 18:47:41.421 [debug] Current batch of media processed. Will check again in 1000ms 18:47:42.020 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=R_QKo_ukrrM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a8/37/a837b1f98b8cd9f569d8ba5aa53fba8e6773e2c4683cc66282a1ebcb16139e56.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:47:42.020 [debug] Running yt-dlp command for action: download 18:47:42.021 [debug] QUERY OK source="settings" db=0.5ms idle=606.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:47:42.022 [debug] QUERY OK source="settings" db=0.2ms idle=605.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.022 [debug] QUERY OK source="settings" db=0.4ms idle=602.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:42.023 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=R_QKo_ukrrM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6a/d1/6ad190a98ece49dcc08b4f9280b83674ba8011d8951cc0c82d20b54efbd02dc0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:47:42.421 [debug] Current batch of media processed. Will check again in 1000ms 18:47:43.424 [debug] Current batch of media processed. Will check again in 1000ms 18:47:44.425 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=qwnft3MiBHo\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 115, "filename" => "/downloads/UnpragmaticCovers/2025-11-02 Livin' in the Sunlight, Lovin' in the Moon Light but it's the OldSchool RuneScape soundfont/Livin' in the Sunlight, Lovin' in the Moon Light but it's the OldSchool RuneScape soundfont [NDj_wyV7HZw].mp4", "id" => "NDj_wyV7HZw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=NDj_wyV7HZw", "playlist_index" => 84, "timestamp" => 1762095649, "title" => "Livin' in the Sunlight, Lovin' in the Moon Light but it's the OldSchool RuneScape soundfont", "upload_date" => "20251102"} 18:47:44.427 [debug] QUERY OK source="sources" db=1.5ms queue=0.1ms idle=1399.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:47:44.428 [debug] QUERY OK source="sources" db=0.5ms queue=0.6ms idle=1401.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:47:44.430 [debug] QUERY OK source="media_items" db=0.6ms queue=0.6ms idle=1403.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-02 15:00:49Z], 1] 18:47:44.433 [debug] QUERY OK source="media_items" db=1.4ms idle=1066.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=qwnft3MiBHo\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Livin' in the Sunlight, Lovin' in the Moon Light but it's the OldSchool RuneScape soundfont", "c837e361-7423-42de-b741-5c3bef5245a8", "NDj_wyV7HZw", false, "https://www.youtube.com/watch?v=NDj_wyV7HZw", 1, [], 115, false, 84, "/downloads/UnpragmaticCovers/2025-11-02 Livin' in the Sunlight, Lovin' in the Moon Light but it's the OldSchool RuneScape soundfont/Livin' in the Sunlight, Lovin' in the Moon Light but it's the OldSchool RuneScape soundfont [NDj_wyV7HZw].mp4", false, false, 99, ~U[2025-11-02 15:00:49Z], ~U[2026-06-27 16:47:44Z], ~U[2026-06-27 16:47:44Z], "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=qwnft3MiBHo\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Livin' in the Sunlight, Lovin' in the Moon Light but it's the OldSchool RuneScape soundfont", "NDj_wyV7HZw", "https://www.youtube.com/watch?v=NDj_wyV7HZw", 1, 115, false, "/downloads/UnpragmaticCovers/2025-11-02 Livin' in the Sunlight, Lovin' in the Moon Light but it's the OldSchool RuneScape soundfont/Livin' in the Sunlight, Lovin' in the Moon Light but it's the OldSchool RuneScape soundfont [NDj_wyV7HZw].mp4", false, ~U[2025-11-02 15:00:49Z]] 18:47:44.434 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=64.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:47:44.435 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.6ms idle=7.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:44.438 [debug] QUERY OK source="media_items" db=0.4ms queue=0.3ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [84] 18:47:44.438 [info] Kicking off download for media item #84 (NDj_wyV7HZw) 18:47:44.443 [debug] QUERY OK source="tasks" db=0.4ms queue=0.3ms idle=7.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [87, 84, ~U[2026-06-27 16:47:44Z], ~U[2026-06-27 16:47:44Z]] 18:47:44.443 [debug] Current batch of media processed. Will check again in 1000ms 18:47:45.444 [debug] Current batch of media processed. Will check again in 1000ms 18:47:46.101 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=z_EssL3tw0c --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/18/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/73/44/734467ef5a07a7dd5314b6c3497e1d8b0df106489e017f126bcf99666505b250.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:47:46.104 [debug] QUERY OK db=0.4ms queue=0.3ms idle=730.7ms begin [] 18:47:46.107 [debug] QUERY OK source="media_items" db=2.3ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "predicted_media_filepath" = ?, "uploaded_at" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/youtube/UnpragmaticCovers/2026-04-28 Mambo No. 5 (A Little Bit of...) but it's the OldSchool RuneScape soundfont/Mambo No. 5 (A Little Bit of...) but it's the OldSchool RuneScape soundfont [z_EssL3tw0c].mp4", "/downloads/youtube/UnpragmaticCovers/2026-04-28 Mambo No. 5 (A Little Bit of...) but it's the OldSchool RuneScape soundfont/Mambo No. 5 (A Little Bit of...) but it's the OldSchool RuneScape soundfont [z_EssL3tw0c]-thumb.jpg", ~U[2026-06-27 16:47:32Z], "/downloads/youtube/UnpragmaticCovers/2026-04-28 Mambo No. 5 (A Little Bit of...) but it's the OldSchool RuneScape soundfont/Mambo No. 5 (A Little Bit of...) but it's the OldSchool RuneScape soundfont [z_EssL3tw0c].mp4", ~U[2026-04-28 00:00:00Z], ~U[2026-06-27 16:47:46Z], 18] 18:47:46.109 [debug] QUERY OK source="media_metadata" db=1.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/18/metadata.json.gz", "/config/metadata/media_items/18/thumbnail.jpg", 18, ~U[2026-06-27 16:47:46Z], ~U[2026-06-27 16:47:46Z]] 18:47:46.111 [debug] QUERY OK db=1.4ms commit [] 18:47:46.115 [debug] QUERY OK source="media_items" db=2.6ms idle=86.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [11822693, ~U[2026-06-27 16:47:46Z], 18] 18:47:46.116 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:47:46.118 [info] {"args":{"id":18},"id":21,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":30241584,"event":"job:stop","queue_time":187874670,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:47:46.130 [info] {"args":{"id":20},"id":23,"meta":{},"system_time":1782578866130756972,"max_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:47:46.134 [debug] QUERY OK source="media_items" db=3.1ms idle=105.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" = ?) [20] 18:47:46.137 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:47:46.141 [debug] QUERY OK source="sources" db=3.0ms queue=0.1ms idle=26.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:47:46.145 [debug] QUERY OK source="media_profiles" db=3.1ms queue=0.1ms idle=26.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:46.147 [debug] QUERY OK source="media_items" db=1.5ms idle=26.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 [20] 18:47:46.153 [debug] QUERY OK source="media_metadata" db=2.0ms idle=20.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" = ?) [20] 18:47:46.155 [debug] QUERY OK source="media_profiles" db=1.8ms 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] 18:47:46.158 [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 [] 18:47:46.160 [debug] QUERY OK source="settings" db=0.9ms 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:47:46.162 [debug] Running yt-dlp command for action: get_downloadable_status 18:47:46.164 [debug] QUERY OK source="settings" db=0.3ms 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 [] 18:47:46.166 [debug] QUERY OK source="settings" db=0.9ms 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 [] 18:47:46.166 [debug] QUERY OK source="settings" db=0.6ms 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 [] 18:47:46.167 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fM-P82Z3DNM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ea/70/ea706a5dacf8413a512b69df0335a80ed99496a8deeefa4291ea35a353f5f311.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:47:46.445 [debug] Current batch of media processed. Will check again in 1000ms 18:47:47.446 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Hallowed Be Thy Sepulchre\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 429, "filename" => "/downloads/UnpragmaticCovers/2025-10-31 Hallowed Be Thy Name - Iron Maiden but it's the OldSchool RuneScape soundfont/Hallowed Be Thy Name - Iron Maiden but it's the OldSchool RuneScape soundfont [RmFjE0ypP64].mp4", "id" => "RmFjE0ypP64", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RmFjE0ypP64", "playlist_index" => 85, "timestamp" => 1761927246, "title" => "Hallowed Be Thy Name - Iron Maiden but it's the OldSchool RuneScape soundfont", "upload_date" => "20251031"} 18:47:47.448 [debug] QUERY OK source="sources" db=0.4ms idle=1282.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:47:47.449 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1282.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:47:47.450 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=1282.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-31 16:14:06Z], 1] 18:47:47.451 [debug] QUERY OK source="media_items" db=0.8ms idle=1074.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Hallowed Be Thy Sepulchre\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Hallowed Be Thy Name - Iron Maiden but it's the OldSchool RuneScape soundfont", "4acb1440-c26b-4536-bda0-0cf8822d470a", "RmFjE0ypP64", false, "https://www.youtube.com/watch?v=RmFjE0ypP64", 1, [], 429, false, 85, "/downloads/UnpragmaticCovers/2025-10-31 Hallowed Be Thy Name - Iron Maiden but it's the OldSchool RuneScape soundfont/Hallowed Be Thy Name - Iron Maiden but it's the OldSchool RuneScape soundfont [RmFjE0ypP64].mp4", false, false, 99, ~U[2025-10-31 16:14:06Z], ~U[2026-06-27 16:47:47Z], ~U[2026-06-27 16:47:47Z], "Hallowed Be Thy Sepulchre\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Hallowed Be Thy Name - Iron Maiden but it's the OldSchool RuneScape soundfont", "RmFjE0ypP64", "https://www.youtube.com/watch?v=RmFjE0ypP64", 1, 429, false, "/downloads/UnpragmaticCovers/2025-10-31 Hallowed Be Thy Name - Iron Maiden but it's the OldSchool RuneScape soundfont/Hallowed Be Thy Name - Iron Maiden but it's the OldSchool RuneScape soundfont [RmFjE0ypP64].mp4", false, ~U[2025-10-31 16:14:06Z]] 18:47:47.452 [debug] QUERY OK source="sources" db=0.2ms idle=74.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:47:47.452 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:47.453 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [85] 18:47:47.453 [info] Kicking off download for media item #85 (RmFjE0ypP64) 18:47:47.454 [debug] QUERY OK source="tasks" db=0.1ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [88, 85, ~U[2026-06-27 16:47:47Z], ~U[2026-06-27 16:47:47Z]] 18:47:47.454 [debug] Current batch of media processed. Will check again in 1000ms 18:47:47.629 [info] {"source":"oban","duration":1617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:48.455 [debug] Current batch of media processed. Will check again in 1000ms 18:47:49.456 [debug] Current batch of media processed. Will check again in 1000ms 18:47:50.401 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fM-P82Z3DNM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ea/70/ea706a5dacf8413a512b69df0335a80ed99496a8deeefa4291ea35a353f5f311.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:47:50.401 [debug] Running yt-dlp command for action: download 18:47:50.402 [debug] QUERY OK source="settings" db=0.3ms idle=1376.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.402 [debug] QUERY OK source="settings" db=0.1ms idle=1376.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.403 [debug] QUERY OK source="settings" db=0.1ms idle=1377.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:50.403 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fM-P82Z3DNM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/de/24/de24dfbc5948b2439c4e163b57ac99f58f1f864b344be20e87d55c1457b18837.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:47:50.457 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 210, "filename" => "/downloads/UnpragmaticCovers/2025-10-28 This Ain't a Scene, It's an Arms Race - Fall Out Boy but it's the OldSchool RuneScape soundfont/This Ain't a Scene, It's an Arms Race - Fall Out Boy but it's the OldSchool RuneScape soundfont [irM3ftNSGlU].mp4", "id" => "irM3ftNSGlU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=irM3ftNSGlU", "playlist_index" => 86, "timestamp" => 1761660084, "title" => "This Ain't a Scene, It's an Arms Race - Fall Out Boy but it's the OldSchool RuneScape soundfont", "upload_date" => "20251028"} 18:47:50.458 [debug] QUERY OK source="sources" db=0.2ms idle=1076.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:47:50.459 [debug] QUERY OK source="sources" db=0.2ms idle=74.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:47:50.459 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=56.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-28 14:01:24Z], 1] 18:47:50.462 [debug] QUERY OK source="media_items" db=2.2ms idle=57.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "This Ain't a Scene, It's an Arms Race - Fall Out Boy but it's the OldSchool RuneScape soundfont", "26eae95c-c65c-488c-941d-0b17b6a58e29", "irM3ftNSGlU", false, "https://www.youtube.com/watch?v=irM3ftNSGlU", 1, [], 210, false, 86, "/downloads/UnpragmaticCovers/2025-10-28 This Ain't a Scene, It's an Arms Race - Fall Out Boy but it's the OldSchool RuneScape soundfont/This Ain't a Scene, It's an Arms Race - Fall Out Boy but it's the OldSchool RuneScape soundfont [irM3ftNSGlU].mp4", false, false, 99, ~U[2025-10-28 14:01:24Z], ~U[2026-06-27 16:47:50Z], ~U[2026-06-27 16:47:50Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "This Ain't a Scene, It's an Arms Race - Fall Out Boy but it's the OldSchool RuneScape soundfont", "irM3ftNSGlU", "https://www.youtube.com/watch?v=irM3ftNSGlU", 1, 210, false, "/downloads/UnpragmaticCovers/2025-10-28 This Ain't a Scene, It's an Arms Race - Fall Out Boy but it's the OldSchool RuneScape soundfont/This Ain't a Scene, It's an Arms Race - Fall Out Boy but it's the OldSchool RuneScape soundfont [irM3ftNSGlU].mp4", false, ~U[2025-10-28 14:01:24Z]] 18:47:50.462 [debug] QUERY OK source="sources" db=0.2ms idle=59.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:47:50.463 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:50.463 [debug] QUERY OK source="media_items" db=0.4ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [86] 18:47:50.463 [info] Kicking off download for media item #86 (irM3ftNSGlU) 18:47:50.465 [debug] QUERY OK source="tasks" db=0.1ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [89, 86, ~U[2026-06-27 16:47:50Z], ~U[2026-06-27 16:47:50Z]] 18:47:50.465 [debug] Current batch of media processed. Will check again in 1000ms 18:47:51.465 [debug] Current batch of media processed. Will check again in 1000ms 18:47:52.466 [debug] Current batch of media processed. Will check again in 1000ms 18:47:53.467 [debug] Current batch of media processed. Will check again in 1000ms 18:47:54.468 [debug] Current batch of media processed. Will check again in 1000ms 18:47:55.470 [debug] Current batch of media processed. Will check again in 1000ms 18:47:56.470 [debug] Current batch of media processed. Will check again in 1000ms 18:47:57.471 [debug] Current batch of media processed. Will check again in 1000ms 18:47:58.473 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A friendly reminder to listen to Violator by Depeche Mode if you haven't!\n\nThis is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=VJGrT4GMrn0\n\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 294, "filename" => "/downloads/UnpragmaticCovers/2025-10-26 Personal Jesus - Depeche Mode but it's the Oldschool RuneScape soundfont/Personal Jesus - Depeche Mode but it's the Oldschool RuneScape soundfont [yKYMXtNMR-s].mp4", "id" => "yKYMXtNMR-s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yKYMXtNMR-s", "playlist_index" => 87, "timestamp" => 1761487294, "title" => "Personal Jesus - Depeche Mode but it's the Oldschool RuneScape soundfont", "upload_date" => "20251026"} 18:47:58.474 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=447.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:47:58.476 [debug] QUERY OK source="sources" db=0.3ms idle=449.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:47:58.476 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=450.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-26 14:01:34Z], 1] 18:47:58.479 [debug] QUERY OK source="media_items" db=1.2ms idle=451.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A friendly reminder to listen to Violator by Depeche Mode if you haven't!\n\nThis is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=VJGrT4GMrn0\n\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Personal Jesus - Depeche Mode but it's the Oldschool RuneScape soundfont", "d495aa71-e7b5-40de-bfb0-a6a5f10a40f2", "yKYMXtNMR-s", false, "https://www.youtube.com/watch?v=yKYMXtNMR-s", 1, [], 294, false, 87, "/downloads/UnpragmaticCovers/2025-10-26 Personal Jesus - Depeche Mode but it's the Oldschool RuneScape soundfont/Personal Jesus - Depeche Mode but it's the Oldschool RuneScape soundfont [yKYMXtNMR-s].mp4", false, false, 99, ~U[2025-10-26 14:01:34Z], ~U[2026-06-27 16:47:58Z], ~U[2026-06-27 16:47:58Z], "A friendly reminder to listen to Violator by Depeche Mode if you haven't!\n\nThis is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=VJGrT4GMrn0\n\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Personal Jesus - Depeche Mode but it's the Oldschool RuneScape soundfont", "yKYMXtNMR-s", "https://www.youtube.com/watch?v=yKYMXtNMR-s", 1, 294, false, "/downloads/UnpragmaticCovers/2025-10-26 Personal Jesus - Depeche Mode but it's the Oldschool RuneScape soundfont/Personal Jesus - Depeche Mode but it's the Oldschool RuneScape soundfont [yKYMXtNMR-s].mp4", false, ~U[2025-10-26 14:01:34Z]] 18:47:58.479 [debug] QUERY OK source="sources" db=0.4ms idle=68.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:47:58.480 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:47:58.482 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=5.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [87] 18:47:58.482 [info] Kicking off download for media item #87 (yKYMXtNMR-s) 18:47:58.491 [debug] QUERY OK source="tasks" db=1.0ms queue=0.6ms idle=9.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [90, 87, ~U[2026-06-27 16:47:58Z], ~U[2026-06-27 16:47:58Z]] 18:47:58.491 [debug] Current batch of media processed. Will check again in 1000ms 18:47:59.492 [debug] Current batch of media processed. Will check again in 1000ms 18:48:00.493 [debug] Current batch of media processed. Will check again in 1000ms 18:48:00.653 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:48:01.237 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=R_QKo_ukrrM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6a/d1/6ad190a98ece49dcc08b4f9280b83674ba8011d8951cc0c82d20b54efbd02dc0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:48:01.255 [debug] Running yt-dlp command for action: download_thumbnail 18:48:01.256 [debug] QUERY OK source="settings" db=0.2ms idle=1230.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:01.257 [debug] QUERY OK source="settings" db=0.1ms idle=1231.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:01.257 [debug] QUERY OK source="settings" db=0.1ms idle=1231.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:01.257 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=R_QKo_ukrrM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/19/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/69/b0/69b0a4ac928a9417b59aa54049cf354dad2971813533a805d02d0ce50f2c1eed.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:48:01.495 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Javelins thrown\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 180, "filename" => "/downloads/UnpragmaticCovers/2025-10-24 The Kids Aren't Alright - The Offspring but it's the OldSchool RuneScape soundfont/The Kids Aren't Alright - The Offspring but it's the OldSchool RuneScape soundfont [7qWiEzA0HVc].mp4", "id" => "7qWiEzA0HVc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7qWiEzA0HVc", "playlist_index" => 88, "timestamp" => 1761314410, "title" => "The Kids Aren't Alright - The Offspring but it's the OldSchool RuneScape soundfont", "upload_date" => "20251024"} 18:48:01.496 [debug] QUERY OK source="sources" db=0.8ms queue=0.2ms idle=842.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:48:01.500 [debug] QUERY OK source="sources" db=0.4ms idle=242.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:01.500 [debug] QUERY OK source="media_items" db=0.3ms idle=243.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-24 14:00:10Z], 1] 18:48:01.503 [debug] QUERY OK source="media_items" db=1.0ms idle=244.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Javelins thrown\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "The Kids Aren't Alright - The Offspring but it's the OldSchool RuneScape soundfont", "4bb15c8a-112b-417b-a77f-525cc43cf724", "7qWiEzA0HVc", false, "https://www.youtube.com/watch?v=7qWiEzA0HVc", 1, [], 180, false, 88, "/downloads/UnpragmaticCovers/2025-10-24 The Kids Aren't Alright - The Offspring but it's the OldSchool RuneScape soundfont/The Kids Aren't Alright - The Offspring but it's the OldSchool RuneScape soundfont [7qWiEzA0HVc].mp4", false, false, 99, ~U[2025-10-24 14:00:10Z], ~U[2026-06-27 16:48:01Z], ~U[2026-06-27 16:48:01Z], "Javelins thrown\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "The Kids Aren't Alright - The Offspring but it's the OldSchool RuneScape soundfont", "7qWiEzA0HVc", "https://www.youtube.com/watch?v=7qWiEzA0HVc", 1, 180, false, "/downloads/UnpragmaticCovers/2025-10-24 The Kids Aren't Alright - The Offspring but it's the OldSchool RuneScape soundfont/The Kids Aren't Alright - The Offspring but it's the OldSchool RuneScape soundfont [7qWiEzA0HVc].mp4", false, ~U[2025-10-24 14:00:10Z]] 18:48:01.504 [debug] QUERY OK source="sources" db=1.0ms queue=0.2ms idle=81.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:01.505 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.4ms idle=8.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:48:01.506 [debug] QUERY OK source="media_items" db=0.4ms idle=6.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [88] 18:48:01.506 [info] Kicking off download for media item #88 (7qWiEzA0HVc) 18:48:01.515 [debug] QUERY OK source="tasks" db=1.3ms queue=0.9ms idle=8.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [91, 88, ~U[2026-06-27 16:48:01Z], ~U[2026-06-27 16:48:01Z]] 18:48:01.516 [debug] Current batch of media processed. Will check again in 1000ms 18:48:02.516 [debug] Current batch of media processed. Will check again in 1000ms 18:48:03.517 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get get get get\nDrop drop drop drop\n\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 172, "filename" => "/downloads/UnpragmaticCovers/2025-10-21 Get Got - Death Grips but it's the OldSchool RuneScape soundfont/Get Got - Death Grips but it's the OldSchool RuneScape soundfont [Utv08CZoax4].mp4", "id" => "Utv08CZoax4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Utv08CZoax4", "playlist_index" => 89, "timestamp" => 1761055255, "title" => "Get Got - Death Grips but it's the OldSchool RuneScape soundfont", "upload_date" => "20251021"} 18:48:03.518 [debug] QUERY OK source="sources" db=0.2ms idle=492.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:48:03.519 [debug] QUERY OK source="sources" db=0.3ms idle=492.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:03.519 [debug] QUERY OK source="media_items" db=0.5ms idle=493.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-21 14:00:55Z], 1] 18:48:03.521 [debug] QUERY OK source="media_items" db=0.9ms idle=493.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get get get get\nDrop drop drop drop\n\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Get Got - Death Grips but it's the OldSchool RuneScape soundfont", "35dbe2c4-665b-4455-8b9f-5dfef5fd338b", "Utv08CZoax4", false, "https://www.youtube.com/watch?v=Utv08CZoax4", 1, [], 172, false, 89, "/downloads/UnpragmaticCovers/2025-10-21 Get Got - Death Grips but it's the OldSchool RuneScape soundfont/Get Got - Death Grips but it's the OldSchool RuneScape soundfont [Utv08CZoax4].mp4", false, false, 99, ~U[2025-10-21 14:00:55Z], ~U[2026-06-27 16:48:03Z], ~U[2026-06-27 16:48:03Z], "Get get get get\nDrop drop drop drop\n\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Get Got - Death Grips but it's the OldSchool RuneScape soundfont", "Utv08CZoax4", "https://www.youtube.com/watch?v=Utv08CZoax4", 1, 172, false, "/downloads/UnpragmaticCovers/2025-10-21 Get Got - Death Grips but it's the OldSchool RuneScape soundfont/Get Got - Death Grips but it's the OldSchool RuneScape soundfont [Utv08CZoax4].mp4", false, ~U[2025-10-21 14:00:55Z]] 18:48:03.521 [debug] QUERY OK source="sources" db=0.3ms idle=95.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:03.522 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:48:03.522 [debug] QUERY OK source="media_items" db=0.2ms idle=3.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [89] 18:48:03.523 [info] Kicking off download for media item #89 (Utv08CZoax4) 18:48:03.524 [debug] QUERY OK source="tasks" db=0.1ms idle=2.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [92, 89, ~U[2026-06-27 16:48:03Z], ~U[2026-06-27 16:48:03Z]] 18:48:03.524 [debug] Current batch of media processed. Will check again in 1000ms 18:48:04.525 [debug] Current batch of media processed. Will check again in 1000ms 18:48:04.894 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fM-P82Z3DNM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/de/24/de24dfbc5948b2439c4e163b57ac99f58f1f864b344be20e87d55c1457b18837.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:48:04.940 [debug] Running yt-dlp command for action: download_thumbnail 18:48:04.943 [debug] QUERY OK source="settings" db=0.6ms 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:48:04.944 [debug] QUERY OK source="settings" db=1.2ms 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 [] 18:48:04.945 [debug] QUERY OK source="settings" db=0.3ms 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 [] 18:48:04.945 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fM-P82Z3DNM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/20/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/16/ed/16eda2f6ae4beb2ca9c88186902416505ed3df979cb53ed2caa2d04a2a2ac584.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:48:05.526 [debug] Current batch of media processed. Will check again in 1000ms 18:48:06.528 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=RGyTCbv1O_E\n\nArtwork credit to Ren and Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 266, "filename" => "/downloads/UnpragmaticCovers/2025-10-19 Kernkraft 400 - Zombie Nation but it's the Oldschool RuneScape soundfont/Kernkraft 400 - Zombie Nation but it's the Oldschool RuneScape soundfont [Tv54NIOn3xM].mp4", "id" => "Tv54NIOn3xM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Tv54NIOn3xM", "playlist_index" => 90, "timestamp" => 1760882446, "title" => "Kernkraft 400 - Zombie Nation but it's the Oldschool RuneScape soundfont", "upload_date" => "20251019"} 18:48:06.529 [debug] QUERY OK source="sources" db=0.4ms 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] 18:48:06.530 [debug] QUERY OK source="sources" db=0.7ms 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] 18:48:06.531 [debug] QUERY OK source="media_items" db=0.4ms idle=501.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-19 14:00:46Z], 1] 18:48:06.532 [debug] QUERY OK source="media_items" db=1.0ms idle=502.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=RGyTCbv1O_E\n\nArtwork credit to Ren and Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Kernkraft 400 - Zombie Nation but it's the Oldschool RuneScape soundfont", "c95bf02b-dd29-432a-947d-f16f878cea53", "Tv54NIOn3xM", false, "https://www.youtube.com/watch?v=Tv54NIOn3xM", 1, [], 266, false, 90, "/downloads/UnpragmaticCovers/2025-10-19 Kernkraft 400 - Zombie Nation but it's the Oldschool RuneScape soundfont/Kernkraft 400 - Zombie Nation but it's the Oldschool RuneScape soundfont [Tv54NIOn3xM].mp4", false, false, 99, ~U[2025-10-19 14:00:46Z], ~U[2026-06-27 16:48:06Z], ~U[2026-06-27 16:48:06Z], "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=RGyTCbv1O_E\n\nArtwork credit to Ren and Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Kernkraft 400 - Zombie Nation but it's the Oldschool RuneScape soundfont", "Tv54NIOn3xM", "https://www.youtube.com/watch?v=Tv54NIOn3xM", 1, 266, false, "/downloads/UnpragmaticCovers/2025-10-19 Kernkraft 400 - Zombie Nation but it's the Oldschool RuneScape soundfont/Kernkraft 400 - Zombie Nation but it's the Oldschool RuneScape soundfont [Tv54NIOn3xM].mp4", false, ~U[2025-10-19 14:00:46Z]] 18:48:06.533 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=90.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:06.536 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.2ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:48:06.538 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=7.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [90] 18:48:06.539 [info] Kicking off download for media item #90 (Tv54NIOn3xM) 18:48:06.547 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=12.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [93, 90, ~U[2026-06-27 16:48:06Z], ~U[2026-06-27 16:48:06Z]] 18:48:06.547 [debug] Current batch of media processed. Will check again in 1000ms 18:48:07.548 [debug] Current batch of media processed. Will check again in 1000ms 18:48:08.549 [debug] Current batch of media processed. Will check again in 1000ms 18:48:09.556 [debug] Current batch of media processed. Will check again in 1000ms 18:48:10.556 [debug] Current batch of media processed. Will check again in 1000ms 18:48:11.295 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=R_QKo_ukrrM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/19/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/69/b0/69b0a4ac928a9417b59aa54049cf354dad2971813533a805d02d0ce50f2c1eed.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:48:11.297 [debug] QUERY OK db=0.3ms idle=1265.8ms begin [] 18:48:11.297 [debug] QUERY OK source="media_items" db=0.4ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "predicted_media_filepath" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/youtube/UnpragmaticCovers/2026-04-24 Whatsername - Green Day but it's the OldSchool RuneScape soundfont/Whatsername - Green Day but it's the OldSchool RuneScape soundfont [R_QKo_ukrrM].mp4", "/downloads/youtube/UnpragmaticCovers/2026-04-24 Whatsername - Green Day but it's the OldSchool RuneScape soundfont/Whatsername - Green Day but it's the OldSchool RuneScape soundfont [R_QKo_ukrrM]-thumb.jpg", ~U[2026-06-27 16:48:01Z], "/downloads/youtube/UnpragmaticCovers/2026-04-24 Whatsername - Green Day but it's the OldSchool RuneScape soundfont/Whatsername - Green Day but it's the OldSchool RuneScape soundfont [R_QKo_ukrrM].mp4", ~U[2026-06-27 16:48:11Z], 19] 18:48:11.298 [debug] QUERY OK source="media_metadata" db=0.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/19/metadata.json.gz", "/config/metadata/media_items/19/thumbnail.jpg", 19, ~U[2026-06-27 16:48:11Z], ~U[2026-06-27 16:48:11Z]] 18:48:11.298 [debug] QUERY OK db=0.1ms commit [] 18:48:11.299 [debug] QUERY OK source="media_items" db=0.3ms idle=1267.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [6122398, ~U[2026-06-27 16:48:11Z], 19] 18:48:11.299 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:48:11.299 [info] {"args":{"id":19},"id":22,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":33788744,"event":"job:stop","queue_time":206508704,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:48:11.306 [info] {"args":{"id":21},"id":24,"meta":{},"system_time":1782578891306754497,"max_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:48:11.307 [debug] QUERY OK source="media_items" db=0.3ms idle=850.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" = ?) [21] 18:48:11.307 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:48:11.308 [debug] QUERY OK source="sources" db=0.3ms idle=9.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:11.309 [debug] QUERY OK source="media_profiles" db=0.3ms idle=9.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:48:11.309 [debug] QUERY OK source="media_items" db=0.5ms idle=9.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [21] 18:48:11.311 [debug] QUERY OK source="media_metadata" db=0.2ms idle=4.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [21] 18:48:11.312 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 18:48:11.312 [debug] QUERY OK source="settings" db=0.2ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:48:11.313 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:48:11.314 [debug] Running yt-dlp command for action: get_downloadable_status 18:48:11.315 [debug] QUERY OK source="settings" db=0.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 [] 18:48:11.316 [debug] QUERY OK source="settings" db=0.7ms 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 [] 18:48:11.317 [debug] QUERY OK source="settings" db=1.1ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:48:11.318 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HGySK5oNML0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8a/66/8a66374f0dedb99829e47913f619f8053123b6d9e1db136a1c25b1416974ef84.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:48:11.557 [debug] Current batch of media processed. Will check again in 1000ms 18:48:12.558 [debug] Current batch of media processed. Will check again in 1000ms 18:48:13.471 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fM-P82Z3DNM --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/20/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/16/ed/16eda2f6ae4beb2ca9c88186902416505ed3df979cb53ed2caa2d04a2a2ac584.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:48:13.473 [debug] QUERY OK db=0.5ms idle=441.6ms begin [] 18:48:13.474 [debug] QUERY OK source="media_items" db=0.8ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "predicted_media_filepath" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/youtube/UnpragmaticCovers/2026-04-21 The Middle - Jimmy Eat World but it's the OldSchool RuneScape soundfont/The Middle - Jimmy Eat World but it's the OldSchool RuneScape soundfont [fM-P82Z3DNM].mp4", "/downloads/youtube/UnpragmaticCovers/2026-04-21 The Middle - Jimmy Eat World but it's the OldSchool RuneScape soundfont/The Middle - Jimmy Eat World but it's the OldSchool RuneScape soundfont [fM-P82Z3DNM]-thumb.jpg", ~U[2026-06-27 16:48:04Z], "/downloads/youtube/UnpragmaticCovers/2026-04-21 The Middle - Jimmy Eat World but it's the OldSchool RuneScape soundfont/The Middle - Jimmy Eat World but it's the OldSchool RuneScape soundfont [fM-P82Z3DNM].mp4", ~U[2026-06-27 16:48:13Z], 20] 18:48:13.475 [debug] QUERY OK source="media_metadata" db=0.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/20/metadata.json.gz", "/config/metadata/media_items/20/thumbnail.jpg", 20, ~U[2026-06-27 16:48:13Z], ~U[2026-06-27 16:48:13Z]] 18:48:13.475 [debug] QUERY OK db=0.4ms commit [] 18:48:13.477 [debug] QUERY OK source="media_items" db=0.6ms queue=0.2ms idle=445.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [4890900, ~U[2026-06-27 16:48:13Z], 20] 18:48:13.477 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:48:13.478 [info] {"args":{"id":20},"id":23,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":27346879,"event":"job:stop","queue_time":213124841,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:48:13.486 [info] {"args":{"id":22},"id":25,"meta":{},"system_time":1782578893486114791,"max_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:48:13.486 [debug] QUERY OK source="media_items" db=0.3ms 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 WHERE (m0."id" = ?) [22] 18:48:13.487 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:48:13.488 [debug] QUERY OK source="sources" db=0.6ms idle=12.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:13.492 [debug] QUERY OK source="media_profiles" db=0.3ms queue=2.8ms 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] 18:48:13.493 [debug] QUERY OK source="media_items" db=0.5ms idle=13.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [22] 18:48:13.495 [debug] QUERY OK source="media_metadata" db=1.0ms idle=8.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" = ?) [22] 18:48:13.496 [debug] QUERY OK source="media_profiles" db=0.6ms idle=8.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:48:13.497 [debug] QUERY OK source="settings" db=0.2ms 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 [] 18:48:13.498 [debug] QUERY OK source="settings" db=0.1ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:48:13.498 [debug] Running yt-dlp command for action: get_downloadable_status 18:48:13.499 [debug] QUERY OK source="settings" db=0.1ms idle=6.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:48:13.500 [debug] QUERY OK source="settings" db=0.1ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:48:13.500 [debug] QUERY OK source="settings" db=0.1ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:48:13.500 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=SwXFqXp1XDA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cf/bf/cfbff19717108081fae3aca0bad29760f77fa538b02a2ddace05cf0059669fc4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:48:13.559 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Greenlogging gauntlet be like\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 138, "filename" => "/downloads/UnpragmaticCovers/2025-10-17 Never Going Back Again - Fleetwood Mac but it's the OldSchool RuneScape soundfont/Never Going Back Again - Fleetwood Mac but it's the OldSchool RuneScape soundfont [Rt-FavUn25E].mp4", "id" => "Rt-FavUn25E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Rt-FavUn25E", "playlist_index" => 91, "timestamp" => 1760709654, "title" => "Never Going Back Again - Fleetwood Mac but it's the OldSchool RuneScape soundfont", "upload_date" => "20251017"} 18:48:13.561 [debug] QUERY OK source="sources" db=0.5ms queue=0.5ms idle=62.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:48:13.563 [debug] QUERY OK source="sources" db=0.3ms queue=0.6ms idle=63.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:13.565 [debug] QUERY OK source="media_items" db=1.7ms queue=0.7ms idle=63.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-17 14:00:54Z], 1] 18:48:13.570 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=67.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Greenlogging gauntlet be like\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Never Going Back Again - Fleetwood Mac but it's the OldSchool RuneScape soundfont", "2c9c3eef-f898-4c28-88e1-ef2fadfc0ab0", "Rt-FavUn25E", false, "https://www.youtube.com/watch?v=Rt-FavUn25E", 1, [], 138, false, 91, "/downloads/UnpragmaticCovers/2025-10-17 Never Going Back Again - Fleetwood Mac but it's the OldSchool RuneScape soundfont/Never Going Back Again - Fleetwood Mac but it's the OldSchool RuneScape soundfont [Rt-FavUn25E].mp4", false, false, 99, ~U[2025-10-17 14:00:54Z], ~U[2026-06-27 16:48:13Z], ~U[2026-06-27 16:48:13Z], "Greenlogging gauntlet be like\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Never Going Back Again - Fleetwood Mac but it's the OldSchool RuneScape soundfont", "Rt-FavUn25E", "https://www.youtube.com/watch?v=Rt-FavUn25E", 1, 138, false, "/downloads/UnpragmaticCovers/2025-10-17 Never Going Back Again - Fleetwood Mac but it's the OldSchool RuneScape soundfont/Never Going Back Again - Fleetwood Mac but it's the OldSchool RuneScape soundfont [Rt-FavUn25E].mp4", false, ~U[2025-10-17 14:00:54Z]] 18:48:13.573 [debug] QUERY OK source="sources" db=1.4ms idle=70.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:48:13.574 [debug] QUERY OK source="media_profiles" db=1.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] 18:48:13.575 [debug] QUERY OK source="media_items" db=0.4ms idle=12.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [91] 18:48:13.575 [info] Kicking off download for media item #91 (Rt-FavUn25E) 18:48:13.581 [debug] QUERY OK source="tasks" db=0.8ms queue=0.1ms idle=8.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [94, 91, ~U[2026-06-27 16:48:13Z], ~U[2026-06-27 16:48:13Z]] 18:48:13.582 [debug] Current batch of media processed. Will check again in 1000ms 18:48:14.583 [debug] Current batch of media processed. Will check again in 1000ms 18:48:15.584 [debug] Current batch of media processed. Will check again in 1000ms 18:48:16.586 [debug] Current batch of media processed. Will check again in 1000ms 18:48:17.582 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HGySK5oNML0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8a/66/8a66374f0dedb99829e47913f619f8053123b6d9e1db136a1c25b1416974ef84.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:48:17.583 [debug] Running yt-dlp command for action: download 18:48:17.584 [debug] QUERY OK source="settings" db=0.7ms idle=553.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.585 [debug] QUERY OK source="settings" db=0.4ms idle=554.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.586 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms 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 [] 18:48:17.586 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HGySK5oNML0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/88/57/88576b382a57faef37e252b8ea835a7f3b3a865e40ca14a9c72977003ba40a8a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:48:17.588 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 218, "filename" => "/downloads/UnpragmaticCovers/2025-10-14 Ich Will - Rammstein but it's the OldSchool RuneScape soundfont/Ich Will - Rammstein but it's the OldSchool RuneScape soundfont [d92QxtP-1dw].mp4", "id" => "d92QxtP-1dw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=d92QxtP-1dw", "playlist_index" => 92, "timestamp" => 1760450466, "title" => "Ich Will - Rammstein but it's the OldSchool RuneScape soundfont", "upload_date" => "20251014"} 18:48:17.589 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=557.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:48:17.593 [debug] QUERY OK source="sources" db=1.0ms queue=2.7ms idle=100.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:17.596 [debug] QUERY OK source="media_items" db=1.1ms queue=0.6ms idle=9.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-14 14:01:06Z], 1] 18:48:17.602 [debug] QUERY OK source="media_items" db=5.5ms idle=11.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Ich Will - Rammstein but it's the OldSchool RuneScape soundfont", "2ea71064-3cdd-4a2c-ae82-109bf81e1190", "d92QxtP-1dw", false, "https://www.youtube.com/watch?v=d92QxtP-1dw", 1, [], 218, false, 92, "/downloads/UnpragmaticCovers/2025-10-14 Ich Will - Rammstein but it's the OldSchool RuneScape soundfont/Ich Will - Rammstein but it's the OldSchool RuneScape soundfont [d92QxtP-1dw].mp4", false, false, 99, ~U[2025-10-14 14:01:06Z], ~U[2026-06-27 16:48:17Z], ~U[2026-06-27 16:48:17Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Ich Will - Rammstein but it's the OldSchool RuneScape soundfont", "d92QxtP-1dw", "https://www.youtube.com/watch?v=d92QxtP-1dw", 1, 218, false, "/downloads/UnpragmaticCovers/2025-10-14 Ich Will - Rammstein but it's the OldSchool RuneScape soundfont/Ich Will - Rammstein but it's the OldSchool RuneScape soundfont [d92QxtP-1dw].mp4", false, ~U[2025-10-14 14:01:06Z]] 18:48:17.606 [debug] QUERY OK source="sources" db=2.9ms queue=0.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] 18:48:17.608 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.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] 18:48:17.611 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=15.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [92] 18:48:17.611 [info] Kicking off download for media item #92 (d92QxtP-1dw) 18:48:17.619 [debug] QUERY OK source="tasks" db=0.7ms queue=0.2ms idle=12.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [95, 92, ~U[2026-06-27 16:48:17Z], ~U[2026-06-27 16:48:17Z]] 18:48:17.620 [debug] Current batch of media processed. Will check again in 1000ms 18:48:17.632 [info] {"source":"oban","duration":2130,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:18.621 [debug] Current batch of media processed. Will check again in 1000ms 18:48:19.576 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=SwXFqXp1XDA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cf/bf/cfbff19717108081fae3aca0bad29760f77fa538b02a2ddace05cf0059669fc4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:48:19.576 [debug] Running yt-dlp command for action: download 18:48:19.578 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=546.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.579 [debug] QUERY OK source="settings" db=1.1ms idle=547.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.580 [debug] QUERY OK source="settings" db=0.4ms idle=548.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.580 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=SwXFqXp1XDA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/4c/b4/4cb41978f089c4d20d6c614e90825fade0a65b6974b21be44416b33b315e237b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:48:19.622 [debug] Current batch of media processed. Will check again in 1000ms 18:48:20.623 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=nII4rpaBAVA\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 172, "filename" => "/downloads/UnpragmaticCovers/2025-10-12 Mad World but it’s the OldSchool RuneScape soundfont/Mad World but it’s the OldSchool RuneScape soundfont [WIqLfh7eon8].mp4", "id" => "WIqLfh7eon8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WIqLfh7eon8", "playlist_index" => 93, "timestamp" => 1760277657, "title" => "Mad World but it’s the OldSchool RuneScape soundfont", "upload_date" => "20251012"} 18:48:20.624 [debug] QUERY OK source="sources" db=0.2ms idle=1127.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:48:20.624 [debug] QUERY OK source="sources" db=0.2ms idle=1046.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:20.625 [debug] QUERY OK source="media_items" db=0.6ms idle=1045.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-12 14:00:57Z], 1] 18:48:20.627 [debug] QUERY OK source="media_items" db=1.2ms idle=1045.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=nII4rpaBAVA\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Mad World but it’s the OldSchool RuneScape soundfont", "086161bd-fd79-47e8-87c5-03ffadf5be87", "WIqLfh7eon8", false, "https://www.youtube.com/watch?v=WIqLfh7eon8", 1, [], 172, false, 93, "/downloads/UnpragmaticCovers/2025-10-12 Mad World but it’s the OldSchool RuneScape soundfont/Mad World but it’s the OldSchool RuneScape soundfont [WIqLfh7eon8].mp4", false, false, 99, ~U[2025-10-12 14:00:57Z], ~U[2026-06-27 16:48:20Z], ~U[2026-06-27 16:48:20Z], "This is a remastered and rearranged version of a previous upload. The now unlisted previous upload can be found here:\n\nhttps://www.youtube.com/watch?v=nII4rpaBAVA\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Mad World but it’s the OldSchool RuneScape soundfont", "WIqLfh7eon8", "https://www.youtube.com/watch?v=WIqLfh7eon8", 1, 172, false, "/downloads/UnpragmaticCovers/2025-10-12 Mad World but it’s the OldSchool RuneScape soundfont/Mad World but it’s the OldSchool RuneScape soundfont [WIqLfh7eon8].mp4", false, ~U[2025-10-12 14:00:57Z]] 18:48:20.627 [debug] QUERY OK source="sources" db=0.1ms idle=129.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:48:20.628 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.2ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:48:20.629 [debug] QUERY OK source="media_items" db=0.4ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [93] 18:48:20.629 [info] Kicking off download for media item #93 (WIqLfh7eon8) 18:48:20.631 [debug] QUERY OK source="tasks" db=0.1ms idle=3.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [96, 93, ~U[2026-06-27 16:48:20Z], ~U[2026-06-27 16:48:20Z]] 18:48:20.631 [debug] Current batch of media processed. Will check again in 1000ms 18:48:21.631 [debug] Current batch of media processed. Will check again in 1000ms 18:48:22.632 [debug] Current batch of media processed. Will check again in 1000ms 18:48:23.633 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "What if we slammed in the back of my Dragula 🥺\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 224, "filename" => "/downloads/UnpragmaticCovers/2025-10-10 Dragula - Rob Zombie but it's the OldSchool RuneScape soundfont/Dragula - Rob Zombie but it's the OldSchool RuneScape soundfont [Bd_KGroiDl4].mp4", "id" => "Bd_KGroiDl4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Bd_KGroiDl4", "playlist_index" => 94, "timestamp" => 1760104831, "title" => "Dragula - Rob Zombie but it's the OldSchool RuneScape soundfont", "upload_date" => "20251010"} 18:48:23.634 [debug] QUERY OK source="sources" db=0.5ms idle=1603.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:48:23.635 [debug] QUERY OK source="sources" db=0.4ms idle=1604.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:23.636 [debug] QUERY OK source="media_items" db=0.7ms idle=1605.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-10 14:00:31Z], 1] 18:48:23.639 [debug] QUERY OK source="media_items" db=1.7ms idle=1135.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["What if we slammed in the back of my Dragula 🥺\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Dragula - Rob Zombie but it's the OldSchool RuneScape soundfont", "9e7d2bd5-ea0e-4c03-82b3-5b5244ee2916", "Bd_KGroiDl4", false, "https://www.youtube.com/watch?v=Bd_KGroiDl4", 1, [], 224, false, 94, "/downloads/UnpragmaticCovers/2025-10-10 Dragula - Rob Zombie but it's the OldSchool RuneScape soundfont/Dragula - Rob Zombie but it's the OldSchool RuneScape soundfont [Bd_KGroiDl4].mp4", false, false, 99, ~U[2025-10-10 14:00:31Z], ~U[2026-06-27 16:48:23Z], ~U[2026-06-27 16:48:23Z], "What if we slammed in the back of my Dragula 🥺\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Dragula - Rob Zombie but it's the OldSchool RuneScape soundfont", "Bd_KGroiDl4", "https://www.youtube.com/watch?v=Bd_KGroiDl4", 1, 224, false, "/downloads/UnpragmaticCovers/2025-10-10 Dragula - Rob Zombie but it's the OldSchool RuneScape soundfont/Dragula - Rob Zombie but it's the OldSchool RuneScape soundfont [Bd_KGroiDl4].mp4", false, ~U[2025-10-10 14:00:31Z]] 18:48:23.640 [debug] QUERY OK source="sources" db=0.3ms idle=135.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:48:23.641 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 18:48:23.641 [debug] QUERY OK source="media_items" db=0.3ms idle=5.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [94] 18:48:23.641 [info] Kicking off download for media item #94 (Bd_KGroiDl4) 18:48:23.644 [debug] QUERY OK source="tasks" db=0.1ms idle=3.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [97, 94, ~U[2026-06-27 16:48:23Z], ~U[2026-06-27 16:48:23Z]] 18:48:23.644 [debug] Current batch of media processed. Will check again in 1000ms 18:48:24.644 [debug] Current batch of media processed. Will check again in 1000ms 18:48:25.646 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Music is like magic.\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 296, "filename" => "/downloads/UnpragmaticCovers/2025-10-07 Till I Collapse - Eminem but it's the OldSchool RuneScape soundfont/Till I Collapse - Eminem but it's the OldSchool RuneScape soundfont [oKbGjBx1yHk].mp4", "id" => "oKbGjBx1yHk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oKbGjBx1yHk", "playlist_index" => 95, "timestamp" => 1759845690, "title" => "Till I Collapse - Eminem but it's the OldSchool RuneScape soundfont", "upload_date" => "20251007"} 18:48:25.651 [debug] QUERY OK source="sources" db=4.0ms queue=0.1ms idle=616.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:48:25.653 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms 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" = ?) [1] 18:48:25.655 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=622.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-07 14:01:30Z], 1] 18:48:25.657 [debug] QUERY OK source="media_items" db=1.5ms idle=624.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Music is like magic.\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Till I Collapse - Eminem but it's the OldSchool RuneScape soundfont", "f905c6af-469f-46e8-b1e8-77c544e6edff", "oKbGjBx1yHk", false, "https://www.youtube.com/watch?v=oKbGjBx1yHk", 1, [], 296, false, 95, "/downloads/UnpragmaticCovers/2025-10-07 Till I Collapse - Eminem but it's the OldSchool RuneScape soundfont/Till I Collapse - Eminem but it's the OldSchool RuneScape soundfont [oKbGjBx1yHk].mp4", false, false, 99, ~U[2025-10-07 14:01:30Z], ~U[2026-06-27 16:48:25Z], ~U[2026-06-27 16:48:25Z], "Music is like magic.\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Till I Collapse - Eminem but it's the OldSchool RuneScape soundfont", "oKbGjBx1yHk", "https://www.youtube.com/watch?v=oKbGjBx1yHk", 1, 296, false, "/downloads/UnpragmaticCovers/2025-10-07 Till I Collapse - Eminem but it's the OldSchool RuneScape soundfont/Till I Collapse - Eminem but it's the OldSchool RuneScape soundfont [oKbGjBx1yHk].mp4", false, ~U[2025-10-07 14:01:30Z]] 18:48:25.659 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=148.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:25.661 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.1ms idle=8.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:48:25.662 [debug] QUERY OK source="media_items" db=0.8ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [95] 18:48:25.662 [info] Kicking off download for media item #95 (oKbGjBx1yHk) 18:48:25.667 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=8.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [98, 95, ~U[2026-06-27 16:48:25Z], ~U[2026-06-27 16:48:25Z]] 18:48:25.667 [debug] Current batch of media processed. Will check again in 1000ms 18:48:26.668 [debug] Current batch of media processed. Will check again in 1000ms 18:48:27.674 [debug] Current batch of media processed. Will check again in 1000ms 18:48:28.675 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Stardust\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 240, "filename" => "/downloads/UnpragmaticCovers/2025-10-03 Starlight - Muse but it's the OldSchool RuneScape soundfont/Starlight - Muse but it's the OldSchool RuneScape soundfont [leE4PNPzugY].mp4", "id" => "leE4PNPzugY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=leE4PNPzugY", "playlist_index" => 96, "timestamp" => 1759500087, "title" => "Starlight - Muse but it's the OldSchool RuneScape soundfont", "upload_date" => "20251003"} 18:48:28.676 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=1644.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:48:28.677 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1646.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:28.678 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1647.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-03 14:01:27Z], 1] 18:48:28.680 [debug] QUERY OK source="media_items" db=1.0ms idle=1166.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Stardust\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Starlight - Muse but it's the OldSchool RuneScape soundfont", "8e7a6f87-c599-4ca6-919e-178bf2b7ffbd", "leE4PNPzugY", false, "https://www.youtube.com/watch?v=leE4PNPzugY", 1, [], 240, false, 96, "/downloads/UnpragmaticCovers/2025-10-03 Starlight - Muse but it's the OldSchool RuneScape soundfont/Starlight - Muse but it's the OldSchool RuneScape soundfont [leE4PNPzugY].mp4", false, false, 99, ~U[2025-10-03 14:01:27Z], ~U[2026-06-27 16:48:28Z], ~U[2026-06-27 16:48:28Z], "Stardust\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Starlight - Muse but it's the OldSchool RuneScape soundfont", "leE4PNPzugY", "https://www.youtube.com/watch?v=leE4PNPzugY", 1, 240, false, "/downloads/UnpragmaticCovers/2025-10-03 Starlight - Muse but it's the OldSchool RuneScape soundfont/Starlight - Muse but it's the OldSchool RuneScape soundfont [leE4PNPzugY].mp4", false, ~U[2025-10-03 14:01:27Z]] 18:48:28.683 [debug] QUERY OK source="sources" db=1.4ms queue=0.8ms idle=165.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:48:28.684 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=7.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:48:28.685 [debug] QUERY OK source="media_items" db=0.7ms idle=7.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [96] 18:48:28.685 [info] Kicking off download for media item #96 (leE4PNPzugY) 18:48:28.690 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=6.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [99, 96, ~U[2026-06-27 16:48:28Z], ~U[2026-06-27 16:48:28Z]] 18:48:28.690 [debug] Current batch of media processed. Will check again in 1000ms 18:48:29.691 [debug] Current batch of media processed. Will check again in 1000ms 18:48:30.649 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HGySK5oNML0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/88/57/88576b382a57faef37e252b8ea835a7f3b3a865e40ca14a9c72977003ba40a8a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:48:30.670 [debug] Running yt-dlp command for action: download_thumbnail 18:48:30.671 [debug] QUERY OK source="settings" db=0.2ms idle=640.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:30.672 [debug] QUERY OK source="settings" db=0.0ms idle=640.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:30.672 [debug] QUERY OK source="settings" db=0.1ms idle=640.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:30.672 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HGySK5oNML0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/21/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/d8/ae/d8aecda87bef9bd9e57e9663d1ee17746f039a3546d2bd39c74f96f7e01f9fa2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:48:30.692 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "You know my flicks don't lie\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 215, "filename" => "/downloads/UnpragmaticCovers/2025-09-30 Hips Don't Lie - Shakira but it's the OldSchool RuneScape soundfont/Hips Don't Lie - Shakira but it's the OldSchool RuneScape soundfont [jGv7G6eoUJc].mp4", "id" => "jGv7G6eoUJc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jGv7G6eoUJc", "playlist_index" => 97, "timestamp" => 1759240876, "title" => "Hips Don't Lie - Shakira but it's the OldSchool RuneScape soundfont", "upload_date" => "20250930"} 18:48:30.693 [debug] QUERY OK source="sources" db=0.2ms idle=661.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:48:30.694 [debug] QUERY OK source="sources" db=0.7ms idle=175.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:30.695 [debug] QUERY OK source="media_items" db=0.3ms idle=23.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-30 14:01:16Z], 1] 18:48:30.696 [debug] QUERY OK source="media_items" db=1.0ms idle=23.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["You know my flicks don't lie\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Hips Don't Lie - Shakira but it's the OldSchool RuneScape soundfont", "45da6c83-af12-413a-bd43-c04630b485a2", "jGv7G6eoUJc", false, "https://www.youtube.com/watch?v=jGv7G6eoUJc", 1, [], 215, false, 97, "/downloads/UnpragmaticCovers/2025-09-30 Hips Don't Lie - Shakira but it's the OldSchool RuneScape soundfont/Hips Don't Lie - Shakira but it's the OldSchool RuneScape soundfont [jGv7G6eoUJc].mp4", false, false, 99, ~U[2025-09-30 14:01:16Z], ~U[2026-06-27 16:48:30Z], ~U[2026-06-27 16:48:30Z], "You know my flicks don't lie\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Hips Don't Lie - Shakira but it's the OldSchool RuneScape soundfont", "jGv7G6eoUJc", "https://www.youtube.com/watch?v=jGv7G6eoUJc", 1, 215, false, "/downloads/UnpragmaticCovers/2025-09-30 Hips Don't Lie - Shakira but it's the OldSchool RuneScape soundfont/Hips Don't Lie - Shakira but it's the OldSchool RuneScape soundfont [jGv7G6eoUJc].mp4", false, ~U[2025-09-30 14:01:16Z]] 18:48:30.697 [debug] QUERY OK source="sources" db=0.3ms idle=24.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:30.698 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:48:30.699 [debug] QUERY OK source="media_items" db=0.4ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [97] 18:48:30.699 [info] Kicking off download for media item #97 (jGv7G6eoUJc) 18:48:30.702 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=4.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [100, 97, ~U[2026-06-27 16:48:30Z], ~U[2026-06-27 16:48:30Z]] 18:48:30.703 [debug] Current batch of media processed. Will check again in 1000ms 18:48:31.703 [debug] Current batch of media processed. Will check again in 1000ms 18:48:32.705 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 187, "filename" => "/downloads/UnpragmaticCovers/2025-09-26 Papercut - Linkin Park but it's the OldSchool RuneScape soundfont/Papercut - Linkin Park but it's the OldSchool RuneScape soundfont [vWWhHJbFwE8].mp4", "id" => "vWWhHJbFwE8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vWWhHJbFwE8", "playlist_index" => 98, "timestamp" => 1758895302, "title" => "Papercut - Linkin Park but it's the OldSchool RuneScape soundfont", "upload_date" => "20250926"} 18:48:32.706 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=674.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:48:32.707 [debug] QUERY OK source="sources" db=0.3ms idle=676.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:32.708 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=676.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-26 14:01:42Z], 1] 18:48:32.711 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=678.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Papercut - Linkin Park but it's the OldSchool RuneScape soundfont", "e19b0ae8-f9fd-4b04-9df8-52b6249a04e5", "vWWhHJbFwE8", false, "https://www.youtube.com/watch?v=vWWhHJbFwE8", 1, [], 187, false, 98, "/downloads/UnpragmaticCovers/2025-09-26 Papercut - Linkin Park but it's the OldSchool RuneScape soundfont/Papercut - Linkin Park but it's the OldSchool RuneScape soundfont [vWWhHJbFwE8].mp4", false, false, 99, ~U[2025-09-26 14:01:42Z], ~U[2026-06-27 16:48:32Z], ~U[2026-06-27 16:48:32Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Papercut - Linkin Park but it's the OldSchool RuneScape soundfont", "vWWhHJbFwE8", "https://www.youtube.com/watch?v=vWWhHJbFwE8", 1, 187, false, "/downloads/UnpragmaticCovers/2025-09-26 Papercut - Linkin Park but it's the OldSchool RuneScape soundfont/Papercut - Linkin Park but it's the OldSchool RuneScape soundfont [vWWhHJbFwE8].mp4", false, ~U[2025-09-26 14:01:42Z]] 18:48:32.712 [debug] QUERY OK source="sources" db=0.3ms 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:48:32.713 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=6.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:48:32.714 [debug] QUERY OK source="media_items" db=0.3ms idle=6.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [98] 18:48:32.714 [info] Kicking off download for media item #98 (vWWhHJbFwE8) 18:48:32.717 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=4.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [101, 98, ~U[2026-06-27 16:48:32Z], ~U[2026-06-27 16:48:32Z]] 18:48:32.717 [debug] Current batch of media processed. Will check again in 1000ms 18:48:33.719 [debug] Current batch of media processed. Will check again in 1000ms 18:48:34.719 [debug] Current batch of media processed. Will check again in 1000ms 18:48:35.346 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=HGySK5oNML0 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/21/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/d8/ae/d8aecda87bef9bd9e57e9663d1ee17746f039a3546d2bd39c74f96f7e01f9fa2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:48:35.347 [debug] QUERY OK db=0.3ms idle=1313.4ms begin [] 18:48:35.348 [debug] QUERY OK source="media_items" db=0.7ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "predicted_media_filepath" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/youtube/UnpragmaticCovers/2026-04-17 Superbeast - Rob Zombie but it's the OldSchool RuneScape soundfont/Superbeast - Rob Zombie but it's the OldSchool RuneScape soundfont [HGySK5oNML0].mp4", "/downloads/youtube/UnpragmaticCovers/2026-04-17 Superbeast - Rob Zombie but it's the OldSchool RuneScape soundfont/Superbeast - Rob Zombie but it's the OldSchool RuneScape soundfont [HGySK5oNML0]-thumb.jpg", ~U[2026-06-27 16:48:30Z], "/downloads/youtube/UnpragmaticCovers/2026-04-17 Superbeast - Rob Zombie but it's the OldSchool RuneScape soundfont/Superbeast - Rob Zombie but it's the OldSchool RuneScape soundfont [HGySK5oNML0].mp4", ~U[2026-06-27 16:48:35Z], 21] 18:48:35.349 [debug] QUERY OK source="media_metadata" db=0.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/21/metadata.json.gz", "/config/metadata/media_items/21/thumbnail.jpg", 21, ~U[2026-06-27 16:48:35Z], ~U[2026-06-27 16:48:35Z]] 18:48:35.349 [debug] QUERY OK db=0.2ms commit [] 18:48:35.350 [debug] QUERY OK source="media_items" db=0.3ms idle=1316.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [7228391, ~U[2026-06-27 16:48:35Z], 21] 18:48:35.350 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:48:35.351 [info] {"args":{"id":21},"id":24,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":24043984,"event":"job:stop","queue_time":235305680,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:48:35.357 [info] {"args":{"id":23},"id":26,"meta":{},"system_time":1782578915357555182,"max_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:48:35.358 [debug] QUERY OK source="media_items" db=0.2ms idle=834.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" = ?) [23] 18:48:35.358 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:48:35.359 [debug] QUERY OK source="sources" db=0.4ms idle=9.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:35.360 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=8.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:48:35.360 [debug] QUERY OK source="media_items" db=0.3ms idle=9.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [23] 18:48:35.361 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [23] 18:48:35.362 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:48:35.362 [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 [] 18:48:35.363 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:48:35.363 [debug] Running yt-dlp command for action: get_downloadable_status 18:48:35.364 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:48:35.364 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:48:35.365 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:48:35.365 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7iCMh55nMDs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/08/4f/084f63094449914f20822b6a10eebe8662259593a2df6b1a9ca11318052a2d41.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:48:35.525 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=SwXFqXp1XDA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/4c/b4/4cb41978f089c4d20d6c614e90825fade0a65b6974b21be44416b33b315e237b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:48:35.549 [debug] Running yt-dlp command for action: download_thumbnail 18:48:35.550 [debug] QUERY OK source="settings" db=0.1ms idle=186.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:35.550 [debug] QUERY OK source="settings" db=0.2ms idle=185.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:35.550 [debug] QUERY OK source="settings" db=0.1ms idle=185.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:35.551 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=SwXFqXp1XDA --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/c2/1f/c21f77cc96f65eefeb0331ce4fbd2a6108bb6ad2e723bedc1afcf24c6aee58af.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:48:35.720 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thanks to @SockLove for the RSMV!\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 194, "filename" => "/downloads/UnpragmaticCovers/2025-09-23 Prayer of the Refugee - Rise Against but it's the OldSchool RuneScape soundfont/Prayer of the Refugee - Rise Against but it's the OldSchool RuneScape soundfont [yCbset4OG7w].mp4", "id" => "yCbset4OG7w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yCbset4OG7w", "playlist_index" => 99, "timestamp" => 1758636098, "title" => "Prayer of the Refugee - Rise Against but it's the OldSchool RuneScape soundfont", "upload_date" => "20250923"} 18:48:35.722 [debug] QUERY OK source="sources" db=1.2ms idle=356.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:48:35.723 [debug] QUERY OK source="sources" db=0.3ms idle=197.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:35.724 [debug] QUERY OK source="media_items" db=0.6ms queue=0.3ms idle=173.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-23 14:01:38Z], 1] 18:48:35.725 [debug] QUERY OK source="media_items" db=0.6ms idle=174.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to @SockLove for the RSMV!\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Prayer of the Refugee - Rise Against but it's the OldSchool RuneScape soundfont", "1b01d6e1-d042-4578-80fb-c3686123ed69", "yCbset4OG7w", false, "https://www.youtube.com/watch?v=yCbset4OG7w", 1, [], 194, false, 99, "/downloads/UnpragmaticCovers/2025-09-23 Prayer of the Refugee - Rise Against but it's the OldSchool RuneScape soundfont/Prayer of the Refugee - Rise Against but it's the OldSchool RuneScape soundfont [yCbset4OG7w].mp4", false, false, 99, ~U[2025-09-23 14:01:38Z], ~U[2026-06-27 16:48:35Z], ~U[2026-06-27 16:48:35Z], "Thanks to @SockLove for the RSMV!\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Prayer of the Refugee - Rise Against but it's the OldSchool RuneScape soundfont", "yCbset4OG7w", "https://www.youtube.com/watch?v=yCbset4OG7w", 1, 194, false, "/downloads/UnpragmaticCovers/2025-09-23 Prayer of the Refugee - Rise Against but it's the OldSchool RuneScape soundfont/Prayer of the Refugee - Rise Against but it's the OldSchool RuneScape soundfont [yCbset4OG7w].mp4", false, ~U[2025-09-23 14:01:38Z]] 18:48:35.726 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=175.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:48:35.727 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:48:35.728 [debug] QUERY OK source="media_items" db=0.3ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [99] 18:48:35.728 [info] Kicking off download for media item #99 (yCbset4OG7w) 18:48:35.732 [debug] QUERY OK source="tasks" db=0.1ms idle=5.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [102, 99, ~U[2026-06-27 16:48:35Z], ~U[2026-06-27 16:48:35Z]] 18:48:35.732 [debug] Current batch of media processed. Will check again in 1000ms 18:48:36.734 [debug] Current batch of media processed. Will check again in 1000ms 18:48:37.735 [debug] Current batch of media processed. Will check again in 1000ms 18:48:38.736 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 223, "filename" => "/downloads/UnpragmaticCovers/2025-09-21 September - Earth, Wind & Fire but it's the OldSchool RuneScape soundfont/September - Earth, Wind & Fire but it's the OldSchool RuneScape soundfont [rUOOyNxWkKo].mp4", "id" => "rUOOyNxWkKo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rUOOyNxWkKo", "playlist_index" => 100, "timestamp" => 1758463288, "title" => "September - Earth, Wind & Fire but it's the OldSchool RuneScape soundfont", "upload_date" => "20250921"} 18:48:38.737 [debug] QUERY OK source="sources" db=0.3ms idle=1704.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:48:38.738 [debug] QUERY OK source="sources" db=0.2ms idle=1705.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:38.739 [debug] QUERY OK source="media_items" db=0.4ms idle=1705.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-21 14:01:28Z], 1] 18:48:38.740 [debug] QUERY OK source="media_items" db=1.0ms idle=1209.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "September - Earth, Wind & Fire but it's the OldSchool RuneScape soundfont", "448e87e4-4201-4d98-b085-dc79590ce10d", "rUOOyNxWkKo", false, "https://www.youtube.com/watch?v=rUOOyNxWkKo", 1, [], 223, false, 100, "/downloads/UnpragmaticCovers/2025-09-21 September - Earth, Wind & Fire but it's the OldSchool RuneScape soundfont/September - Earth, Wind & Fire but it's the OldSchool RuneScape soundfont [rUOOyNxWkKo].mp4", false, false, 99, ~U[2025-09-21 14:01:28Z], ~U[2026-06-27 16:48:38Z], ~U[2026-06-27 16:48:38Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "September - Earth, Wind & Fire but it's the OldSchool RuneScape soundfont", "rUOOyNxWkKo", "https://www.youtube.com/watch?v=rUOOyNxWkKo", 1, 223, false, "/downloads/UnpragmaticCovers/2025-09-21 September - Earth, Wind & Fire but it's the OldSchool RuneScape soundfont/September - Earth, Wind & Fire but it's the OldSchool RuneScape soundfont [rUOOyNxWkKo].mp4", false, ~U[2025-09-21 14:01:28Z]] 18:48:38.741 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=210.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:48:38.742 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:48:38.743 [debug] QUERY OK source="media_items" db=0.5ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [100] 18:48:38.743 [info] Kicking off download for media item #100 (rUOOyNxWkKo) 18:48:38.747 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=5.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [103, 100, ~U[2026-06-27 16:48:38Z], ~U[2026-06-27 16:48:38Z]] 18:48:38.747 [debug] Current batch of media processed. Will check again in 1000ms 18:48:39.682 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7iCMh55nMDs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/08/4f/084f63094449914f20822b6a10eebe8662259593a2df6b1a9ca11318052a2d41.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:48:39.682 [debug] Running yt-dlp command for action: download 18:48:39.683 [debug] QUERY OK source="settings" db=0.4ms idle=939.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:39.684 [debug] QUERY OK source="settings" db=0.1ms idle=937.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:39.684 [debug] QUERY OK source="settings" db=0.4ms idle=937.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:39.685 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7iCMh55nMDs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a7/c6/a7c657ae23685e964d931a753e1a1646739cf3f1e02d3573ce78bf2ec602326b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:48:39.747 [debug] Current batch of media processed. Will check again in 1000ms 18:48:40.748 [debug] Current batch of media processed. Will check again in 1000ms 18:48:41.749 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Virtus Quo\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 342, "filename" => "/downloads/UnpragmaticCovers/2025-09-19 Veridis Quo - Daft Punk but it's the OldSchool RuneScape soundfont/Veridis Quo - Daft Punk but it's the OldSchool RuneScape soundfont [aN8HTB4Lk7o].mp4", "id" => "aN8HTB4Lk7o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aN8HTB4Lk7o", "playlist_index" => 101, "timestamp" => 1758290401, "title" => "Veridis Quo - Daft Punk but it's the OldSchool RuneScape soundfont", "upload_date" => "20250919"} 18:48:41.750 [debug] QUERY OK source="sources" db=0.6ms idle=1213.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:48:41.752 [debug] QUERY OK source="sources" db=0.8ms idle=713.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:41.752 [debug] QUERY OK source="media_items" db=0.1ms idle=714.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-19 14:00:01Z], 1] 18:48:41.753 [debug] QUERY OK source="media_items" db=0.5ms idle=715.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Virtus Quo\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Veridis Quo - Daft Punk but it's the OldSchool RuneScape soundfont", "e40b4add-ecaf-47b3-8374-91d1e8124fa9", "aN8HTB4Lk7o", false, "https://www.youtube.com/watch?v=aN8HTB4Lk7o", 1, [], 342, false, 101, "/downloads/UnpragmaticCovers/2025-09-19 Veridis Quo - Daft Punk but it's the OldSchool RuneScape soundfont/Veridis Quo - Daft Punk but it's the OldSchool RuneScape soundfont [aN8HTB4Lk7o].mp4", false, false, 99, ~U[2025-09-19 14:00:01Z], ~U[2026-06-27 16:48:41Z], ~U[2026-06-27 16:48:41Z], "Virtus Quo\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Veridis Quo - Daft Punk but it's the OldSchool RuneScape soundfont", "aN8HTB4Lk7o", "https://www.youtube.com/watch?v=aN8HTB4Lk7o", 1, 342, false, "/downloads/UnpragmaticCovers/2025-09-19 Veridis Quo - Daft Punk but it's the OldSchool RuneScape soundfont/Veridis Quo - Daft Punk but it's the OldSchool RuneScape soundfont [aN8HTB4Lk7o].mp4", false, ~U[2025-09-19 14:00:01Z]] 18:48:41.753 [debug] QUERY OK source="sources" db=0.1ms idle=215.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:41.754 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 18:48:41.755 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [101] 18:48:41.755 [info] Kicking off download for media item #101 (aN8HTB4Lk7o) 18:48:41.757 [debug] QUERY OK source="tasks" db=0.1ms idle=2.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [104, 101, ~U[2026-06-27 16:48:41Z], ~U[2026-06-27 16:48:41Z]] 18:48:41.757 [debug] Current batch of media processed. Will check again in 1000ms 18:48:42.757 [debug] Current batch of media processed. Will check again in 1000ms 18:48:43.758 [debug] Current batch of media processed. Will check again in 1000ms 18:48:44.760 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Gimme gimme gimme a drop before drop rate\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 282, "filename" => "/downloads/UnpragmaticCovers/2025-09-16 Gimme! Gimme! Gimme! (A Man After Midnight) - ABBA but it's the OldSchool RuneScape soundfont/Gimme! Gimme! Gimme! (A Man After Midnight) - ABBA but it's the OldSchool RuneScape soundfont [o5YX0J8vQ1s].mp4", "id" => "o5YX0J8vQ1s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=o5YX0J8vQ1s", "playlist_index" => 102, "timestamp" => 1758031282, "title" => "Gimme! Gimme! Gimme! (A Man After Midnight) - ABBA but it's the OldSchool RuneScape soundfont", "upload_date" => "20250916"} 18:48:44.762 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=1724.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:48:44.763 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1726.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:44.764 [debug] QUERY OK source="media_items" db=0.1ms idle=1727.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-16 14:01:22Z], 1] 18:48:44.765 [debug] QUERY OK source="media_items" db=0.6ms idle=1223.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Gimme gimme gimme a drop before drop rate\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Gimme! Gimme! Gimme! (A Man After Midnight) - ABBA but it's the OldSchool RuneScape soundfont", "46b040e0-8cfc-4aad-b7e4-1cae5f068834", "o5YX0J8vQ1s", false, "https://www.youtube.com/watch?v=o5YX0J8vQ1s", 1, [], 282, false, 102, "/downloads/UnpragmaticCovers/2025-09-16 Gimme! Gimme! Gimme! (A Man After Midnight) - ABBA but it's the OldSchool RuneScape soundfont/Gimme! Gimme! Gimme! (A Man After Midnight) - ABBA but it's the OldSchool RuneScape soundfont [o5YX0J8vQ1s].mp4", false, false, 99, ~U[2025-09-16 14:01:22Z], ~U[2026-06-27 16:48:44Z], ~U[2026-06-27 16:48:44Z], "Gimme gimme gimme a drop before drop rate\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Gimme! Gimme! Gimme! (A Man After Midnight) - ABBA but it's the OldSchool RuneScape soundfont", "o5YX0J8vQ1s", "https://www.youtube.com/watch?v=o5YX0J8vQ1s", 1, 282, false, "/downloads/UnpragmaticCovers/2025-09-16 Gimme! Gimme! Gimme! (A Man After Midnight) - ABBA but it's the OldSchool RuneScape soundfont/Gimme! Gimme! Gimme! (A Man After Midnight) - ABBA but it's the OldSchool RuneScape soundfont [o5YX0J8vQ1s].mp4", false, ~U[2025-09-16 14:01:22Z]] 18:48:44.765 [debug] QUERY OK source="sources" db=0.1ms idle=221.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:48:44.766 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:48:44.766 [debug] QUERY OK source="media_items" db=0.2ms idle=2.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [102] 18:48:44.766 [info] Kicking off download for media item #102 (o5YX0J8vQ1s) 18:48:44.768 [debug] QUERY OK source="tasks" db=0.1ms idle=2.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [105, 102, ~U[2026-06-27 16:48:44Z], ~U[2026-06-27 16:48:44Z]] 18:48:44.768 [debug] Current batch of media processed. Will check again in 1000ms 18:48:45.768 [debug] Current batch of media processed. Will check again in 1000ms 18:48:46.770 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 195, "filename" => "/downloads/UnpragmaticCovers/2025-09-12 The Diary of Jane - Breaking Benjamin but it's the OldSchool RuneScape soundfont/The Diary of Jane - Breaking Benjamin but it's the OldSchool RuneScape soundfont [-LBgeSaHA14].mp4", "id" => "-LBgeSaHA14", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-LBgeSaHA14", "playlist_index" => 103, "timestamp" => 1757685600, "title" => "The Diary of Jane - Breaking Benjamin but it's the OldSchool RuneScape soundfont", "upload_date" => "20250912"} 18:48:46.771 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=733.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:48:46.772 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=734.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:46.773 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=735.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-12 14:00:00Z], 1] 18:48:46.775 [debug] QUERY OK source="media_items" db=1.0ms idle=737.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "The Diary of Jane - Breaking Benjamin but it's the OldSchool RuneScape soundfont", "d660b779-f47d-48f8-afcb-49f0737b6eae", "-LBgeSaHA14", false, "https://www.youtube.com/watch?v=-LBgeSaHA14", 1, [], 195, false, 103, "/downloads/UnpragmaticCovers/2025-09-12 The Diary of Jane - Breaking Benjamin but it's the OldSchool RuneScape soundfont/The Diary of Jane - Breaking Benjamin but it's the OldSchool RuneScape soundfont [-LBgeSaHA14].mp4", false, false, 99, ~U[2025-09-12 14:00:00Z], ~U[2026-06-27 16:48:46Z], ~U[2026-06-27 16:48:46Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "The Diary of Jane - Breaking Benjamin but it's the OldSchool RuneScape soundfont", "-LBgeSaHA14", "https://www.youtube.com/watch?v=-LBgeSaHA14", 1, 195, false, "/downloads/UnpragmaticCovers/2025-09-12 The Diary of Jane - Breaking Benjamin but it's the OldSchool RuneScape soundfont/The Diary of Jane - Breaking Benjamin but it's the OldSchool RuneScape soundfont [-LBgeSaHA14].mp4", false, ~U[2025-09-12 14:00:00Z]] 18:48:46.776 [debug] QUERY OK source="sources" db=0.4ms idle=228.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:48:46.776 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:48:46.778 [debug] QUERY OK source="media_items" db=0.5ms idle=5.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [103] 18:48:46.778 [info] Kicking off download for media item #103 (-LBgeSaHA14) 18:48:46.781 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=4.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [106, 103, ~U[2026-06-27 16:48:46Z], ~U[2026-06-27 16:48:46Z]] 18:48:46.781 [debug] Current batch of media processed. Will check again in 1000ms 18:48:47.635 [info] {"source":"oban","duration":2036,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:47.782 [debug] Current batch of media processed. Will check again in 1000ms 18:48:48.783 [debug] Current batch of media processed. Will check again in 1000ms 18:48:49.785 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I'm breaking the dry streak tonight\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 186, "filename" => "/downloads/UnpragmaticCovers/2025-09-09 Breaking the Habit - Linkin Park but it's the OldSchool RuneScape soundfont/Breaking the Habit - Linkin Park but it's the OldSchool RuneScape soundfont [ID5LF4bKxfA].mp4", "id" => "ID5LF4bKxfA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ID5LF4bKxfA", "playlist_index" => 104, "timestamp" => 1757426428, "title" => "Breaking the Habit - Linkin Park but it's the OldSchool RuneScape soundfont", "upload_date" => "20250909"} 18:48:49.787 [debug] QUERY OK source="sources" db=0.8ms queue=0.2ms idle=1749.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:48:49.789 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1751.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:49.790 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1238.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-09 14:00:28Z], 1] 18:48:49.792 [debug] QUERY OK source="media_items" db=1.2ms idle=753.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I'm breaking the dry streak tonight\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Breaking the Habit - Linkin Park but it's the OldSchool RuneScape soundfont", "4ceb0e05-eb9a-4009-948e-6bb0fce6882b", "ID5LF4bKxfA", false, "https://www.youtube.com/watch?v=ID5LF4bKxfA", 1, [], 186, false, 104, "/downloads/UnpragmaticCovers/2025-09-09 Breaking the Habit - Linkin Park but it's the OldSchool RuneScape soundfont/Breaking the Habit - Linkin Park but it's the OldSchool RuneScape soundfont [ID5LF4bKxfA].mp4", false, false, 99, ~U[2025-09-09 14:00:28Z], ~U[2026-06-27 16:48:49Z], ~U[2026-06-27 16:48:49Z], "I'm breaking the dry streak tonight\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Breaking the Habit - Linkin Park but it's the OldSchool RuneScape soundfont", "ID5LF4bKxfA", "https://www.youtube.com/watch?v=ID5LF4bKxfA", 1, 186, false, "/downloads/UnpragmaticCovers/2025-09-09 Breaking the Habit - Linkin Park but it's the OldSchool RuneScape soundfont/Breaking the Habit - Linkin Park but it's the OldSchool RuneScape soundfont [ID5LF4bKxfA].mp4", false, ~U[2025-09-09 14:00:28Z]] 18:48:49.793 [debug] QUERY OK source="sources" db=0.3ms 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:48:49.793 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=6.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:48:49.795 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=5.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [104] 18:48:49.795 [info] Kicking off download for media item #104 (ID5LF4bKxfA) 18:48:49.798 [debug] QUERY OK source="tasks" db=0.3ms queue=0.2ms idle=5.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [107, 104, ~U[2026-06-27 16:48:49Z], ~U[2026-06-27 16:48:49Z]] 18:48:49.799 [debug] Current batch of media processed. Will check again in 1000ms 18:48:50.799 [debug] Current batch of media processed. Will check again in 1000ms 18:48:51.801 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Instead of going to Lumby again\n\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 207, "filename" => "/downloads/UnpragmaticCovers/2025-09-05 In Too Deep - Sum 41 but it's the OldSchool RuneScape soundfont/In Too Deep - Sum 41 but it's the OldSchool RuneScape soundfont [W9fpPWPHOno].mp4", "id" => "W9fpPWPHOno", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=W9fpPWPHOno", "playlist_index" => 105, "timestamp" => 1757080853, "title" => "In Too Deep - Sum 41 but it's the OldSchool RuneScape soundfont", "upload_date" => "20250905"} 18:48:51.803 [debug] QUERY OK source="sources" db=0.8ms queue=0.2ms idle=765.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:48:51.804 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=767.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:51.805 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=768.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-05 14:00:53Z], 1] 18:48:51.807 [debug] QUERY OK source="media_items" db=1.2ms idle=769.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Instead of going to Lumby again\n\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "In Too Deep - Sum 41 but it's the OldSchool RuneScape soundfont", "ad57b4e0-86f3-4125-af16-c5da54f1a48b", "W9fpPWPHOno", false, "https://www.youtube.com/watch?v=W9fpPWPHOno", 1, [], 207, false, 105, "/downloads/UnpragmaticCovers/2025-09-05 In Too Deep - Sum 41 but it's the OldSchool RuneScape soundfont/In Too Deep - Sum 41 but it's the OldSchool RuneScape soundfont [W9fpPWPHOno].mp4", false, false, 99, ~U[2025-09-05 14:00:53Z], ~U[2026-06-27 16:48:51Z], ~U[2026-06-27 16:48:51Z], "Instead of going to Lumby again\n\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "In Too Deep - Sum 41 but it's the OldSchool RuneScape soundfont", "W9fpPWPHOno", "https://www.youtube.com/watch?v=W9fpPWPHOno", 1, 207, false, "/downloads/UnpragmaticCovers/2025-09-05 In Too Deep - Sum 41 but it's the OldSchool RuneScape soundfont/In Too Deep - Sum 41 but it's the OldSchool RuneScape soundfont [W9fpPWPHOno].mp4", false, ~U[2025-09-05 14:00:53Z]] 18:48:51.808 [debug] QUERY OK source="sources" db=0.3ms idle=246.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:48:51.809 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:48:51.810 [debug] QUERY OK source="media_items" db=0.4ms idle=5.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [105] 18:48:51.810 [info] Kicking off download for media item #105 (W9fpPWPHOno) 18:48:51.813 [debug] QUERY OK source="tasks" db=0.2ms idle=4.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [108, 105, ~U[2026-06-27 16:48:51Z], ~U[2026-06-27 16:48:51Z]] 18:48:51.814 [debug] Current batch of media processed. Will check again in 1000ms 18:48:52.818 [debug] Current batch of media processed. Will check again in 1000ms 18:48:53.818 [debug] Current batch of media processed. Will check again in 1000ms 18:48:54.197 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=SwXFqXp1XDA --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/c2/1f/c21f77cc96f65eefeb0331ce4fbd2a6108bb6ad2e723bedc1afcf24c6aee58af.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:48:54.198 [debug] QUERY OK db=0.2ms idle=1161.1ms begin [] 18:48:54.200 [debug] QUERY OK source="media_items" db=1.5ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "predicted_media_filepath" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/youtube/UnpragmaticCovers/2026-04-14 Nemo - Nightwish but it's the OldSchool RuneScape soundfont/Nemo - Nightwish but it's the OldSchool RuneScape soundfont [SwXFqXp1XDA].mp4", "/downloads/youtube/UnpragmaticCovers/2026-04-14 Nemo - Nightwish but it's the OldSchool RuneScape soundfont/Nemo - Nightwish but it's the OldSchool RuneScape soundfont [SwXFqXp1XDA]-thumb.jpg", ~U[2026-06-27 16:48:35Z], "/downloads/youtube/UnpragmaticCovers/2026-04-14 Nemo - Nightwish but it's the OldSchool RuneScape soundfont/Nemo - Nightwish but it's the OldSchool RuneScape soundfont [SwXFqXp1XDA].mp4", ~U[2026-06-27 16:48:54Z], 22] 18:48:54.203 [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/22/metadata.json.gz", "/config/metadata/media_items/22/thumbnail.jpg", 22, ~U[2026-06-27 16:48:54Z], ~U[2026-06-27 16:48:54Z]] 18:48:54.204 [debug] QUERY OK db=0.7ms commit [] 18:48:54.208 [debug] QUERY OK source="media_items" db=1.6ms idle=1169.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [7758904, ~U[2026-06-27 16:48:54Z], 22] 18:48:54.209 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:48:54.210 [info] {"args":{"id":22},"id":25,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":40723190,"event":"job:stop","queue_time":235484688,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:48:54.217 [info] {"args":{"id":24},"id":27,"meta":{},"system_time":1782578934217391967,"max_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:48:54.218 [debug] QUERY OK source="media_items" db=1.0ms idle=652.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" = ?) [24] 18:48:54.219 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:48:54.219 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=14.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:54.220 [debug] QUERY OK source="media_profiles" db=0.2ms idle=11.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:48:54.221 [debug] QUERY OK source="media_items" db=0.4ms idle=10.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24] 18:48:54.222 [debug] QUERY OK source="media_metadata" db=0.2ms idle=5.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" = ?) [24] 18:48:54.223 [debug] QUERY OK source="media_profiles" db=0.0ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:48:54.223 [debug] QUERY OK source="settings" db=0.1ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:48:54.224 [debug] QUERY OK source="settings" db=0.1ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:48:54.224 [debug] Running yt-dlp command for action: get_downloadable_status 18:48:54.226 [debug] QUERY OK source="settings" db=0.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 [] 18:48:54.226 [debug] QUERY OK source="settings" db=0.0ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:48:54.226 [debug] QUERY OK source="settings" db=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:48:54.226 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DKbYifhewtA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e5/4f/e54f919367eaa1ed27bbf339a8b4df754b6235f05e98c488db3850a0a1d414e0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:48:54.819 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "And be a shrimple kind of man\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 354, "filename" => "/downloads/UnpragmaticCovers/2025-09-02 Simple Man - Lynyrd Skynyrd but it's the OldSchool RuneScape soundfont/Simple Man - Lynyrd Skynyrd but it's the OldSchool RuneScape soundfont [r7gcYidX8nc].mp4", "id" => "r7gcYidX8nc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=r7gcYidX8nc", "playlist_index" => 106, "timestamp" => 1756821682, "title" => "Simple Man - Lynyrd Skynyrd but it's the OldSchool RuneScape soundfont", "upload_date" => "20250902"} 18:48:54.820 [debug] QUERY OK source="sources" db=0.4ms idle=595.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:48:54.821 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=594.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:54.821 [debug] QUERY OK source="media_items" db=0.2ms idle=595.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-02 14:01:22Z], 1] 18:48:54.823 [debug] QUERY OK source="media_items" db=0.6ms idle=595.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["And be a shrimple kind of man\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Simple Man - Lynyrd Skynyrd but it's the OldSchool RuneScape soundfont", "8454c8d0-ab08-48b4-961b-7a9d56a0fa86", "r7gcYidX8nc", false, "https://www.youtube.com/watch?v=r7gcYidX8nc", 1, [], 354, false, 106, "/downloads/UnpragmaticCovers/2025-09-02 Simple Man - Lynyrd Skynyrd but it's the OldSchool RuneScape soundfont/Simple Man - Lynyrd Skynyrd but it's the OldSchool RuneScape soundfont [r7gcYidX8nc].mp4", false, false, 99, ~U[2025-09-02 14:01:22Z], ~U[2026-06-27 16:48:54Z], ~U[2026-06-27 16:48:54Z], "And be a shrimple kind of man\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Simple Man - Lynyrd Skynyrd but it's the OldSchool RuneScape soundfont", "r7gcYidX8nc", "https://www.youtube.com/watch?v=r7gcYidX8nc", 1, 354, false, "/downloads/UnpragmaticCovers/2025-09-02 Simple Man - Lynyrd Skynyrd but it's the OldSchool RuneScape soundfont/Simple Man - Lynyrd Skynyrd but it's the OldSchool RuneScape soundfont [r7gcYidX8nc].mp4", false, ~U[2025-09-02 14:01:22Z]] 18:48:54.823 [debug] QUERY OK source="sources" db=0.2ms idle=256.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:48:54.824 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 18:48:54.824 [debug] QUERY OK source="media_items" db=0.3ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [106] 18:48:54.824 [info] Kicking off download for media item #106 (r7gcYidX8nc) 18:48:54.826 [debug] QUERY OK source="tasks" db=0.1ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [109, 106, ~U[2026-06-27 16:48:54Z], ~U[2026-06-27 16:48:54Z]] 18:48:54.826 [debug] Current batch of media processed. Will check again in 1000ms 18:48:55.827 [debug] Current batch of media processed. Will check again in 1000ms 18:48:56.830 [debug] Current batch of media processed. Will check again in 1000ms 18:48:57.831 [debug] Current batch of media processed. Will check again in 1000ms 18:48:58.263 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DKbYifhewtA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e5/4f/e54f919367eaa1ed27bbf339a8b4df754b6235f05e98c488db3850a0a1d414e0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:48:58.263 [debug] Running yt-dlp command for action: download 18:48:58.264 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=692.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:58.265 [debug] QUERY OK source="settings" db=0.1ms idle=227.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:58.265 [debug] QUERY OK source="settings" db=0.3ms idle=227.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:48:58.265 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DKbYifhewtA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b5/d0/b5d02ffe24e505eb1570339675850e8e7c719f761c6ed90a7a04da2b7002029e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:48:58.832 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "One night and one small favour\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 195, "filename" => "/downloads/UnpragmaticCovers/2025-08-29 Thnks fr th Mmrs - Fall Out Boy but it's the OldSchool RuneScape soundfont/Thnks fr th Mmrs - Fall Out Boy but it's the OldSchool RuneScape soundfont [MBgoeKH2GlQ].mp4", "id" => "MBgoeKH2GlQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MBgoeKH2GlQ", "playlist_index" => 107, "timestamp" => 1756476043, "title" => "Thnks fr th Mmrs - Fall Out Boy but it's the OldSchool RuneScape soundfont", "upload_date" => "20250829"} 18:48:58.833 [debug] QUERY OK source="sources" db=0.3ms idle=795.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:48:58.834 [debug] QUERY OK source="sources" db=0.3ms idle=569.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:48:58.834 [debug] QUERY OK source="media_items" db=0.3ms idle=569.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-29 14:00:43Z], 1] 18:48:58.835 [debug] QUERY OK source="media_items" db=0.6ms idle=569.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["One night and one small favour\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Thnks fr th Mmrs - Fall Out Boy but it's the OldSchool RuneScape soundfont", "ef58b8fb-a4df-4abb-80fc-f53f837742aa", "MBgoeKH2GlQ", false, "https://www.youtube.com/watch?v=MBgoeKH2GlQ", 1, [], 195, false, 107, "/downloads/UnpragmaticCovers/2025-08-29 Thnks fr th Mmrs - Fall Out Boy but it's the OldSchool RuneScape soundfont/Thnks fr th Mmrs - Fall Out Boy but it's the OldSchool RuneScape soundfont [MBgoeKH2GlQ].mp4", false, false, 99, ~U[2025-08-29 14:00:43Z], ~U[2026-06-27 16:48:58Z], ~U[2026-06-27 16:48:58Z], "One night and one small favour\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Thnks fr th Mmrs - Fall Out Boy but it's the OldSchool RuneScape soundfont", "MBgoeKH2GlQ", "https://www.youtube.com/watch?v=MBgoeKH2GlQ", 1, 195, false, "/downloads/UnpragmaticCovers/2025-08-29 Thnks fr th Mmrs - Fall Out Boy but it's the OldSchool RuneScape soundfont/Thnks fr th Mmrs - Fall Out Boy but it's the OldSchool RuneScape soundfont [MBgoeKH2GlQ].mp4", false, ~U[2025-08-29 14:00:43Z]] 18:48:58.836 [debug] QUERY OK source="sources" db=0.2ms idle=263.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:48:58.836 [debug] QUERY OK source="media_profiles" db=0.4ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:48:58.837 [debug] QUERY OK source="media_items" db=0.2ms idle=3.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [107] 18:48:58.837 [info] Kicking off download for media item #107 (MBgoeKH2GlQ) 18:48:58.839 [debug] QUERY OK source="tasks" db=0.2ms idle=3.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [110, 107, ~U[2026-06-27 16:48:58Z], ~U[2026-06-27 16:48:58Z]] 18:48:58.839 [debug] Current batch of media processed. Will check again in 1000ms 18:48:59.841 [debug] Current batch of media processed. Will check again in 1000ms 18:49:00.654 [info] {"source":"oban","duration":251,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:49:00.841 [debug] Current batch of media processed. Will check again in 1000ms 18:49:01.842 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Had the fortune of finally seeing Nine Inch Nails live this month, so covering another song was non-negotiable!\n-Sam\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 218, "filename" => "/downloads/UnpragmaticCovers/2025-08-26 Wish - Nine Inch Nails but it's the OldSchool RuneScape soundfont/Wish - Nine Inch Nails but it's the OldSchool RuneScape soundfont [HNGS5RYPDVk].mp4", "id" => "HNGS5RYPDVk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=HNGS5RYPDVk", "playlist_index" => 108, "timestamp" => 1756216824, "title" => "Wish - Nine Inch Nails but it's the OldSchool RuneScape soundfont", "upload_date" => "20250826"} 18:49:01.843 [debug] QUERY OK source="sources" db=0.3ms idle=1805.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:49:01.844 [debug] QUERY OK source="sources" db=0.1ms idle=1806.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:49:01.844 [debug] QUERY OK source="media_items" db=0.3ms idle=1266.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-26 14:00:24Z], 1] 18:49:01.846 [debug] QUERY OK source="media_items" db=0.8ms idle=1190.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Had the fortune of finally seeing Nine Inch Nails live this month, so covering another song was non-negotiable!\n-Sam\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Wish - Nine Inch Nails but it's the OldSchool RuneScape soundfont", "9f24920e-6d44-4f3f-9109-5c8c5fb98901", "HNGS5RYPDVk", false, "https://www.youtube.com/watch?v=HNGS5RYPDVk", 1, [], 218, false, 108, "/downloads/UnpragmaticCovers/2025-08-26 Wish - Nine Inch Nails but it's the OldSchool RuneScape soundfont/Wish - Nine Inch Nails but it's the OldSchool RuneScape soundfont [HNGS5RYPDVk].mp4", false, false, 99, ~U[2025-08-26 14:00:24Z], ~U[2026-06-27 16:49:01Z], ~U[2026-06-27 16:49:01Z], "Had the fortune of finally seeing Nine Inch Nails live this month, so covering another song was non-negotiable!\n-Sam\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Wish - Nine Inch Nails but it's the OldSchool RuneScape soundfont", "HNGS5RYPDVk", "https://www.youtube.com/watch?v=HNGS5RYPDVk", 1, 218, false, "/downloads/UnpragmaticCovers/2025-08-26 Wish - Nine Inch Nails but it's the OldSchool RuneScape soundfont/Wish - Nine Inch Nails but it's the OldSchool RuneScape soundfont [HNGS5RYPDVk].mp4", false, ~U[2025-08-26 14:00:24Z]] 18:49:01.847 [debug] QUERY OK source="sources" db=0.3ms idle=267.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:01.847 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:49:01.848 [debug] QUERY OK source="media_items" db=0.3ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [108] 18:49:01.848 [info] Kicking off download for media item #108 (HNGS5RYPDVk) 18:49:01.851 [debug] QUERY OK source="tasks" db=0.2ms idle=4.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [111, 108, ~U[2026-06-27 16:49:01Z], ~U[2026-06-27 16:49:01Z]] 18:49:01.852 [debug] Current batch of media processed. Will check again in 1000ms 18:49:02.852 [debug] Current batch of media processed. Will check again in 1000ms 18:49:03.853 [debug] Current batch of media processed. Will check again in 1000ms 18:49:04.855 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Here come old flat-top, he come dancing for money\n\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcover", "duration" => 253, "filename" => "/downloads/UnpragmaticCovers/2025-08-22 Come Together - The Beatles but it's the OldSchool RuneScape soundfont/Come Together - The Beatles but it's the OldSchool RuneScape soundfont [ErA3TYqlGNk].mp4", "id" => "ErA3TYqlGNk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ErA3TYqlGNk", "playlist_index" => 109, "timestamp" => 1755871232, "title" => "Come Together - The Beatles but it's the OldSchool RuneScape soundfont", "upload_date" => "20250822"} 18:49:04.857 [debug] QUERY OK source="sources" db=0.6ms queue=1.1ms idle=1817.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:49:04.859 [debug] QUERY OK source="sources" db=0.7ms queue=0.7ms idle=1820.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:49:04.861 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=1822.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-22 14:00:32Z], 1] 18:49:04.866 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=1279.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Here come old flat-top, he come dancing for money\n\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcover", "Come Together - The Beatles but it's the OldSchool RuneScape soundfont", "ffb9808e-1d39-417d-821f-993a1e25b5fb", "ErA3TYqlGNk", false, "https://www.youtube.com/watch?v=ErA3TYqlGNk", 1, [], 253, false, 109, "/downloads/UnpragmaticCovers/2025-08-22 Come Together - The Beatles but it's the OldSchool RuneScape soundfont/Come Together - The Beatles but it's the OldSchool RuneScape soundfont [ErA3TYqlGNk].mp4", false, false, 99, ~U[2025-08-22 14:00:32Z], ~U[2026-06-27 16:49:04Z], ~U[2026-06-27 16:49:04Z], "Here come old flat-top, he come dancing for money\n\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcover", "Come Together - The Beatles but it's the OldSchool RuneScape soundfont", "ErA3TYqlGNk", "https://www.youtube.com/watch?v=ErA3TYqlGNk", 1, 253, false, "/downloads/UnpragmaticCovers/2025-08-22 Come Together - The Beatles but it's the OldSchool RuneScape soundfont/Come Together - The Beatles but it's the OldSchool RuneScape soundfont [ErA3TYqlGNk].mp4", false, ~U[2025-08-22 14:00:32Z]] 18:49:04.868 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=280.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:04.869 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.1ms idle=10.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:49:04.871 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=11.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [109] 18:49:04.872 [info] Kicking off download for media item #109 (ErA3TYqlGNk) 18:49:04.876 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=7.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [112, 109, ~U[2026-06-27 16:49:04Z], ~U[2026-06-27 16:49:04Z]] 18:49:04.877 [debug] Current batch of media processed. Will check again in 1000ms 18:49:05.555 [info] GET /media_profiles/1 18:49:05.555 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 18:49:05.556 [debug] QUERY OK source="media_profiles" db=0.5ms idle=685.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:49:05.557 [debug] QUERY OK source="sources" db=0.9ms idle=684.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 18:49:05.558 [debug] QUERY OK source="settings" db=0.8ms idle=683.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.559 [debug] QUERY OK source="settings" db=0.8ms idle=683.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.561 [debug] QUERY OK source="settings" db=1.1ms idle=683.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.563 [info] Sent 200 in 8ms 18:49:05.678 [info] CONNECTED TO Phoenix.LiveView.Socket in 36µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ARU3ZDFwXHEdHyAiPl0HEC5hPj49OCUjbvsRF510TipLgoLXo8YGXqbB", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:49:05.685 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:49:05.685 [debug] Replied in 119µs 18:49:05.877 [debug] Current batch of media processed. Will check again in 1000ms 18:49:06.824 [info] GET /sources 18:49:06.824 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 18:49:06.825 [debug] QUERY OK source="settings" db=0.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 [] 18:49:06.826 [debug] QUERY OK source="settings" db=0.8ms idle=1265.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:06.828 [debug] QUERY OK source="settings" db=1.1ms idle=1265.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:06.829 [debug] QUERY OK source="settings" db=0.6ms idle=1234.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:06.830 [debug] QUERY OK source="settings" db=0.8ms idle=232.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:06.832 [debug] QUERY OK source="sources" db=1.3ms idle=5.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)) [] 18:49:06.834 [debug] QUERY OK source="sources" db=2.0ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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] 18:49:06.836 [info] Sent 200 in 11ms 18:49:06.878 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "We are privileged to live in a world where Muse exists. Incredible song and an absolute blast recreate.\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 330, "filename" => "/downloads/UnpragmaticCovers/2025-08-19 Knights of Cydonia - Muse but it's the OldSchool RuneScape soundfont/Knights of Cydonia - Muse but it's the OldSchool RuneScape soundfont [yjhSY6DGaTQ].mp4", "id" => "yjhSY6DGaTQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yjhSY6DGaTQ", "playlist_index" => 110, "timestamp" => 1755612092, "title" => "Knights of Cydonia - Muse but it's the OldSchool RuneScape soundfont", "upload_date" => "20250819"} 18:49:06.879 [debug] QUERY OK source="sources" db=0.3ms idle=50.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:49:06.880 [debug] QUERY OK source="sources" db=0.3ms idle=50.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:49:06.880 [debug] QUERY OK source="media_items" db=0.3ms idle=49.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-19 14:01:32Z], 1] 18:49:06.882 [debug] QUERY OK source="media_items" db=1.3ms idle=49.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["We are privileged to live in a world where Muse exists. Incredible song and an absolute blast recreate.\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Knights of Cydonia - Muse but it's the OldSchool RuneScape soundfont", "e5ab8022-4a28-45f7-a12f-5f3318e7eb39", "yjhSY6DGaTQ", false, "https://www.youtube.com/watch?v=yjhSY6DGaTQ", 1, [], 330, false, 110, "/downloads/UnpragmaticCovers/2025-08-19 Knights of Cydonia - Muse but it's the OldSchool RuneScape soundfont/Knights of Cydonia - Muse but it's the OldSchool RuneScape soundfont [yjhSY6DGaTQ].mp4", false, false, 99, ~U[2025-08-19 14:01:32Z], ~U[2026-06-27 16:49:06Z], ~U[2026-06-27 16:49:06Z], "We are privileged to live in a world where Muse exists. Incredible song and an absolute blast recreate.\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Knights of Cydonia - Muse but it's the OldSchool RuneScape soundfont", "yjhSY6DGaTQ", "https://www.youtube.com/watch?v=yjhSY6DGaTQ", 1, 330, false, "/downloads/UnpragmaticCovers/2025-08-19 Knights of Cydonia - Muse but it's the OldSchool RuneScape soundfont/Knights of Cydonia - Muse but it's the OldSchool RuneScape soundfont [yjhSY6DGaTQ].mp4", false, ~U[2025-08-19 14:01:32Z]] 18:49:06.883 [debug] QUERY OK source="sources" db=0.3ms idle=48.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:49:06.883 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:49:06.884 [debug] QUERY OK source="media_items" db=0.3ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [110] 18:49:06.884 [info] Kicking off download for media item #110 (yjhSY6DGaTQ) 18:49:06.886 [debug] QUERY OK source="tasks" db=0.1ms idle=2.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [113, 110, ~U[2026-06-27 16:49:06Z], ~U[2026-06-27 16:49:06Z]] 18:49:06.886 [debug] Current batch of media processed. Will check again in 1000ms 18:49:06.927 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DKbYifhewtA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b5/d0/b5d02ffe24e505eb1570339675850e8e7c719f761c6ed90a7a04da2b7002029e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:49:06.948 [debug] Running yt-dlp command for action: download_thumbnail 18:49:06.950 [debug] QUERY OK source="settings" db=0.9ms idle=65.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:06.952 [debug] QUERY OK source="settings" db=1.1ms idle=66.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:06.954 [debug] QUERY OK source="settings" db=1.1ms queue=0.6ms 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 [] 18:49:06.955 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DKbYifhewtA --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/25/f4/25f47a80d72ad2a613f3510519db3cd0596c4f399b0990cf6d2e30092db35f59.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:49:07.295 [info] GET /media_profiles/new 18:49:07.295 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 18:49:07.296 [debug] QUERY OK source="settings" db=0.6ms idle=409.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:07.297 [debug] QUERY OK source="settings" db=0.2ms idle=410.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:07.297 [debug] QUERY OK source="settings" db=0.1ms idle=346.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:07.299 [debug] QUERY OK source="settings" db=0.3ms idle=346.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:07.301 [debug] QUERY OK source="settings" db=2.0ms idle=345.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:07.303 [info] Sent 200 in 8ms 18:49:07.888 [debug] Current batch of media processed. Will check again in 1000ms 18:49:08.891 [debug] Current batch of media processed. Will check again in 1000ms 18:49:09.059 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7iCMh55nMDs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a7/c6/a7c657ae23685e964d931a753e1a1646739cf3f1e02d3573ce78bf2ec602326b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:49:09.094 [debug] Running yt-dlp command for action: download_thumbnail 18:49:09.096 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 18:49:09.097 [debug] QUERY OK source="settings" db=0.5ms queue=0.5ms idle=54.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:09.098 [debug] QUERY OK source="settings" db=0.6ms idle=55.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:09.099 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7iCMh55nMDs --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/1a/a3/1aa3fa20ba353d50df5441d65cbdb69c4f6fd0dd28f6cdd62cb6db4fa834455f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:49:09.899 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 214, "filename" => "/downloads/UnpragmaticCovers/2025-08-15 Take It Off - Kesha but it's the OldSchool RuneScape soundfont/Take It Off - Kesha but it's the OldSchool RuneScape soundfont [vIi9PHB6wQw].mp4", "id" => "vIi9PHB6wQw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vIi9PHB6wQw", "playlist_index" => 111, "timestamp" => 1755266492, "title" => "Take It Off - Kesha but it's the OldSchool RuneScape soundfont", "upload_date" => "20250815"} 18:49:09.899 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=857.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:49:09.900 [debug] QUERY OK source="sources" db=0.4ms idle=804.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:49:09.901 [debug] QUERY OK source="media_items" db=0.7ms idle=803.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-15 14:01:32Z], 1] 18:49:09.903 [debug] QUERY OK source="media_items" db=1.2ms idle=803.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Take It Off - Kesha but it's the OldSchool RuneScape soundfont", "4637cab0-7d96-4b35-9d15-c0f1b8ed4582", "vIi9PHB6wQw", false, "https://www.youtube.com/watch?v=vIi9PHB6wQw", 1, [], 214, false, 111, "/downloads/UnpragmaticCovers/2025-08-15 Take It Off - Kesha but it's the OldSchool RuneScape soundfont/Take It Off - Kesha but it's the OldSchool RuneScape soundfont [vIi9PHB6wQw].mp4", false, false, 99, ~U[2025-08-15 14:01:32Z], ~U[2026-06-27 16:49:09Z], ~U[2026-06-27 16:49:09Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Take It Off - Kesha but it's the OldSchool RuneScape soundfont", "vIi9PHB6wQw", "https://www.youtube.com/watch?v=vIi9PHB6wQw", 1, 214, false, "/downloads/UnpragmaticCovers/2025-08-15 Take It Off - Kesha but it's the OldSchool RuneScape soundfont/Take It Off - Kesha but it's the OldSchool RuneScape soundfont [vIi9PHB6wQw].mp4", false, ~U[2025-08-15 14:01:32Z]] 18:49:09.908 [debug] QUERY OK source="sources" db=3.2ms queue=1.0ms idle=289.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:09.909 [debug] QUERY OK source="media_profiles" db=0.7ms idle=8.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:49:09.910 [debug] QUERY OK source="media_items" db=0.8ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [111] 18:49:09.910 [info] Kicking off download for media item #111 (vIi9PHB6wQw) 18:49:09.918 [debug] QUERY OK source="tasks" db=4.9ms queue=0.1ms idle=5.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [114, 111, ~U[2026-06-27 16:49:09Z], ~U[2026-06-27 16:49:09Z]] 18:49:09.919 [debug] Current batch of media processed. Will check again in 1000ms 18:49:10.919 [debug] Current batch of media processed. Will check again in 1000ms 18:49:11.637 [info] GET /sources/1/edit 18:49:11.637 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 18:49:11.639 [debug] QUERY OK source="sources" db=0.6ms idle=596.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:49:11.639 [debug] QUERY OK source="media_profiles" db=0.3ms idle=597.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 18:49:11.640 [debug] QUERY OK source="settings" db=0.2ms queue=0.3ms idle=598.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:11.641 [debug] QUERY OK source="settings" db=0.3ms idle=598.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:11.642 [debug] QUERY OK source="settings" db=0.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 [] 18:49:11.681 [info] Sent 200 in 43ms 18:49:11.788 [info] CONNECTED TO Phoenix.LiveView.Socket in 38µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "J1AnVScHXBIxRmEWOmgCAA46XxsTfzIND3ccPB1Sx01xcZIHOc8bv6ul", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:49:11.795 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:49:11.795 [debug] Replied in 131µs 18:49:11.920 [debug] Current batch of media processed. Will check again in 1000ms 18:49:12.055 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DKbYifhewtA --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/25/f4/25f47a80d72ad2a613f3510519db3cd0596c4f399b0990cf6d2e30092db35f59.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:49:12.055 [debug] QUERY OK db=0.1ms idle=416.6ms begin [] 18:49:12.057 [debug] QUERY OK source="media_items" db=1.2ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "predicted_media_filepath" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/youtube/UnpragmaticCovers/2026-04-07 Runaway - Linkin Park but it's the OldSchool RuneScape soundfont/Runaway - Linkin Park but it's the OldSchool RuneScape soundfont [DKbYifhewtA].mp4", "/downloads/youtube/UnpragmaticCovers/2026-04-07 Runaway - Linkin Park but it's the OldSchool RuneScape soundfont/Runaway - Linkin Park but it's the OldSchool RuneScape soundfont [DKbYifhewtA]-thumb.jpg", ~U[2026-06-27 16:49:06Z], "/downloads/youtube/UnpragmaticCovers/2026-04-07 Runaway - Linkin Park but it's the OldSchool RuneScape soundfont/Runaway - Linkin Park but it's the OldSchool RuneScape soundfont [DKbYifhewtA].mp4", ~U[2026-06-27 16:49:12Z], 24] 18:49:12.058 [debug] QUERY OK source="media_metadata" db=0.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/24/metadata.json.gz", "/config/metadata/media_items/24/thumbnail.jpg", 24, ~U[2026-06-27 16:49:12Z], ~U[2026-06-27 16:49:12Z]] 18:49:12.058 [debug] QUERY OK db=0.1ms commit [] 18:49:12.060 [debug] QUERY OK source="media_items" db=0.7ms idle=419.5ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [5670702, ~U[2026-06-27 16:49:12Z], 24] 18:49:12.060 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:49:12.060 [info] {"args":{"id":24},"id":27,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":17842886,"event":"job:stop","queue_time":271216710,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:49:12.067 [info] {"args":{"id":25},"id":28,"meta":{},"system_time":1782578952067392009,"max_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:12.067 [debug] QUERY OK source="media_items" db=0.1ms idle=425.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" = ?) [25] 18:49:12.068 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:49:12.068 [debug] QUERY OK source="sources" db=0.3ms idle=9.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:49:12.069 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:49:12.069 [debug] QUERY OK source="media_items" db=0.3ms idle=8.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [25] 18:49:12.071 [debug] QUERY OK source="media_metadata" db=0.2ms idle=3.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [25] 18:49:12.071 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 18:49:12.072 [debug] QUERY OK source="settings" db=0.3ms 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 [] 18:49:12.072 [debug] QUERY OK source="settings" db=0.0ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:12.073 [debug] Running yt-dlp command for action: get_downloadable_status 18:49:12.074 [debug] QUERY OK source="settings" db=0.1ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:12.075 [debug] QUERY OK source="settings" db=0.2ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:12.075 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:12.075 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=94Oya35N2Qc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f4/06/f40606c931dc9ad8b41353608b53f60f3e68668d2f9168ffb0276f0484907fe1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:49:12.921 [debug] Current batch of media processed. Will check again in 1000ms 18:49:13.922 [debug] Current batch of media processed. Will check again in 1000ms 18:49:14.592 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=7iCMh55nMDs --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/1a/a3/1aa3fa20ba353d50df5441d65cbdb69c4f6fd0dd28f6cdd62cb6db4fa834455f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:49:14.593 [debug] QUERY OK db=0.5ms idle=959.0ms begin [] 18:49:14.595 [debug] QUERY OK source="media_items" db=1.0ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "predicted_media_filepath" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/youtube/UnpragmaticCovers/2026-04-10 All Apologies - Nirvana but it's the OldSchool RuneScape soundfont/All Apologies - Nirvana but it's the OldSchool RuneScape soundfont [7iCMh55nMDs].mp4", "/downloads/youtube/UnpragmaticCovers/2026-04-10 All Apologies - Nirvana but it's the OldSchool RuneScape soundfont/All Apologies - Nirvana but it's the OldSchool RuneScape soundfont [7iCMh55nMDs]-thumb.jpg", ~U[2026-06-27 16:49:09Z], "/downloads/youtube/UnpragmaticCovers/2026-04-10 All Apologies - Nirvana but it's the OldSchool RuneScape soundfont/All Apologies - Nirvana but it's the OldSchool RuneScape soundfont [7iCMh55nMDs].mp4", ~U[2026-06-27 16:49:14Z], 23] 18:49:14.595 [debug] QUERY OK source="media_metadata" db=0.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/23/metadata.json.gz", "/config/metadata/media_items/23/thumbnail.jpg", 23, ~U[2026-06-27 16:49:14Z], ~U[2026-06-27 16:49:14Z]] 18:49:14.595 [debug] QUERY OK db=0.1ms commit [] 18:49:14.597 [debug] QUERY OK source="media_items" db=0.6ms idle=555.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [5827652, ~U[2026-06-27 16:49:14Z], 23] 18:49:14.597 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:49:14.598 [info] {"args":{"id":23},"id":26,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":39240152,"event":"job:stop","queue_time":254356716,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:49:14.606 [info] {"args":{"id":26},"id":29,"meta":{},"system_time":1782578954605929397,"max_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:14.606 [debug] QUERY OK source="media_items" db=0.4ms idle=564.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" = ?) [26] 18:49:14.607 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:49:14.608 [debug] QUERY OK source="sources" db=0.6ms 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] 18:49:14.609 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 18:49:14.609 [debug] QUERY OK source="media_items" db=0.3ms idle=10.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [26] 18:49:14.611 [debug] QUERY OK source="media_metadata" db=0.1ms queue=0.1ms idle=5.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [26] 18:49:14.611 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 18:49:14.612 [debug] QUERY OK source="settings" db=0.2ms 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 [] 18:49:14.613 [debug] QUERY OK source="settings" db=0.2ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:14.613 [debug] Running yt-dlp command for action: get_downloadable_status 18:49:14.617 [debug] QUERY OK source="settings" db=0.4ms 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 [] 18:49:14.618 [debug] QUERY OK source="settings" db=0.3ms idle=6.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:14.618 [debug] QUERY OK source="settings" db=0.3ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:14.619 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=s0fmhy5qU10 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3f/47/3f47aa0cfeeae2cc6d670a41c1c10bfe4a73b04985855fdae401b6921d4e23b1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:49:14.923 [debug] Current batch of media processed. Will check again in 1000ms 18:49:15.924 [debug] Current batch of media processed. Will check again in 1000ms 18:49:16.773 [info] GET /sources 18:49:16.773 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 18:49:16.774 [debug] QUERY OK source="settings" db=0.7ms idle=732.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:16.775 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=733.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:16.777 [debug] QUERY OK source="settings" db=1.2ms idle=734.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:16.778 [debug] QUERY OK source="settings" db=0.5ms idle=736.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:16.780 [debug] QUERY OK source="settings" db=1.8ms idle=140.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:16.784 [debug] QUERY OK source="sources" db=3.2ms idle=6.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)) [] 18:49:16.787 [debug] QUERY OK source="sources" db=2.1ms idle=9.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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] 18:49:16.788 [info] Sent 200 in 15ms 18:49:16.925 [debug] Current batch of media processed. Will check again in 1000ms 18:49:17.098 [info] CONNECTED TO Phoenix.LiveView.Socket in 38µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "UFIsAQYhOysOEQM-MFEoLgcoLw0XM3Qv31h7qdVjGgSPiccfFqHtrz3N", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:49:17.110 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 18:49:17.113 [debug] QUERY OK source="sources" db=1.3ms idle=334.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)) [] 18:49:17.116 [debug] QUERY OK source="sources" db=2.4ms idle=334.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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] 18:49:17.116 [debug] Replied in 5ms 18:49:17.119 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:49:17.119 [debug] Replied in 145µs 18:49:17.637 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:17.926 [debug] Current batch of media processed. Will check again in 1000ms 18:49:17.959 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=94Oya35N2Qc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f4/06/f40606c931dc9ad8b41353608b53f60f3e68668d2f9168ffb0276f0484907fe1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:49:17.959 [debug] Running yt-dlp command for action: download 18:49:17.959 [debug] QUERY OK source="settings" db=0.3ms idle=1172.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.960 [debug] QUERY OK source="settings" db=0.2ms idle=846.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.960 [debug] QUERY OK source="settings" db=0.2ms idle=844.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.961 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=94Oya35N2Qc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7c/e5/7ce5ecff9df8df646e76614b224d3fcaf2d9d29abe22be18241e30fe256ed4ae.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:49:18.414 [info] GET /sources 18:49:18.415 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 18:49:18.415 [debug] QUERY OK source="settings" db=0.3ms idle=778.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:18.416 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms 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 [] 18:49:18.417 [debug] QUERY OK source="settings" db=0.5ms idle=456.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:18.418 [debug] QUERY OK source="settings" db=0.1ms idle=457.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:18.418 [debug] QUERY OK source="settings" db=0.2ms idle=457.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:18.420 [debug] QUERY OK source="sources" db=0.8ms idle=3.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)) [] 18:49:18.422 [debug] QUERY OK source="sources" db=1.6ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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] 18:49:18.424 [info] Sent 200 in 9ms 18:49:18.615 [info] CONNECTED TO Phoenix.LiveView.Socket in 32µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "JloCVwJ9PSgvTiciP1U-O3MNVBIPBBAyE9Fau8Pif8wLfgus2T3kjMWS", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:49:18.621 [debug] MOUNT PinchflatWeb.Sources.SourceLive.IndexTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "initial_sort_direction" => :asc, "initial_sort_key" => :custom_name, "results_per_page" => 10} 18:49:18.622 [debug] QUERY OK source="sources" db=0.6ms idle=204.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)) [] 18:49:18.624 [debug] QUERY OK source="sources" db=1.2ms idle=204.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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] 18:49:18.624 [debug] Replied in 2ms 18:49:18.625 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:49:18.625 [debug] Replied in 95µs 18:49:18.927 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "pleae pleae pleae\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 107, "filename" => "/downloads/UnpragmaticCovers/2025-08-12 Please Please Please Let Me Get What I Want - The Smiths but it's the OldSchool RuneScape soundfont/Please Please Please Let Me Get What I Want - The Smiths but it's the OldSchool RuneScape soundfont [RXFObBF5G-A].mp4", "id" => "RXFObBF5G-A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RXFObBF5G-A", "playlist_index" => 112, "timestamp" => 1755007242, "title" => "Please Please Please Let Me Get What I Want - The Smiths but it's the OldSchool RuneScape soundfont", "upload_date" => "20250812"} 18:49:18.928 [debug] QUERY OK source="sources" db=0.3ms idle=507.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:49:18.928 [debug] QUERY OK source="sources" db=0.2ms idle=506.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:49:18.929 [debug] QUERY OK source="media_items" db=0.3ms idle=306.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-12 14:00:42Z], 1] 18:49:18.930 [debug] QUERY OK source="media_items" db=0.7ms idle=305.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["pleae pleae pleae\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Please Please Please Let Me Get What I Want - The Smiths but it's the OldSchool RuneScape soundfont", "51bf251f-7b1c-42d3-8c06-cc7d03cd1a84", "RXFObBF5G-A", false, "https://www.youtube.com/watch?v=RXFObBF5G-A", 1, [], 107, false, 112, "/downloads/UnpragmaticCovers/2025-08-12 Please Please Please Let Me Get What I Want - The Smiths but it's the OldSchool RuneScape soundfont/Please Please Please Let Me Get What I Want - The Smiths but it's the OldSchool RuneScape soundfont [RXFObBF5G-A].mp4", false, false, 99, ~U[2025-08-12 14:00:42Z], ~U[2026-06-27 16:49:18Z], ~U[2026-06-27 16:49:18Z], "pleae pleae pleae\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Please Please Please Let Me Get What I Want - The Smiths but it's the OldSchool RuneScape soundfont", "RXFObBF5G-A", "https://www.youtube.com/watch?v=RXFObBF5G-A", 1, 107, false, "/downloads/UnpragmaticCovers/2025-08-12 Please Please Please Let Me Get What I Want - The Smiths but it's the OldSchool RuneScape soundfont/Please Please Please Let Me Get What I Want - The Smiths but it's the OldSchool RuneScape soundfont [RXFObBF5G-A].mp4", false, ~U[2025-08-12 14:00:42Z]] 18:49:18.930 [debug] QUERY OK source="sources" db=0.1ms idle=288.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:18.931 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:49:18.931 [debug] QUERY OK source="media_items" db=0.3ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [112] 18:49:18.932 [info] Kicking off download for media item #112 (RXFObBF5G-A) 18:49:18.934 [debug] QUERY OK source="tasks" db=0.4ms idle=2.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [115, 112, ~U[2026-06-27 16:49:18Z], ~U[2026-06-27 16:49:18Z]] 18:49:18.934 [debug] Current batch of media processed. Will check again in 1000ms 18:49:19.934 [debug] Current batch of media processed. Will check again in 1000ms 18:49:20.180 [info] GET / 18:49:20.180 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 18:49:20.180 [debug] QUERY OK source="settings" db=0.2ms idle=536.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.181 [debug] QUERY OK source="media_profiles" db=0.0ms idle=137.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 18:49:20.181 [debug] QUERY OK source="sources" db=0.1ms idle=138.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 18:49:20.181 [debug] QUERY OK source="media_items" db=0.1ms idle=138.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:49:20.181 [debug] QUERY OK source="media_items" db=0.1ms idle=138.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 18:49:20.182 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:20.182 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:20.182 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:20.183 [debug] QUERY OK source="tasks" db=0.2ms idle=1.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"] 18:49:20.184 [debug] QUERY OK source="sources" db=0.2ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:49:20.184 [debug] QUERY OK source="media_items" db=0.3ms idle=2.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [25, 26] 18:49:20.185 [debug] QUERY OK source="media_items" db=0.1ms idle=3.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)) [] 18:49:20.186 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 18:49:20.186 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:49:20.188 [debug] QUERY OK source="media_items" db=0.2ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 18:49:20.189 [debug] QUERY OK source="media_items" db=0.4ms idle=4.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] 18:49:20.190 [debug] QUERY OK source="sources" db=0.2ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:49:20.191 [info] Sent 200 in 11ms 18:49:20.271 [info] CONNECTED TO Phoenix.LiveView.Socket in 34µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DjYPfj4SQHAZICcEO1R6ETUgCxxTETMCmUKHIW-1PVwjbf1Ytyle6Xtc", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:49:20.277 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "media_state" => "downloaded"} 18:49:20.278 [debug] QUERY OK source="media_items" db=0.7ms idle=91.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)) [] 18:49:20.279 [debug] QUERY OK source="media_items" db=0.3ms idle=91.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] 18:49:20.279 [debug] QUERY OK source="sources" db=0.3ms idle=90.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:49:20.279 [debug] Replied in 2ms 18:49:20.282 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa", "media_state" => "pending"} 18:49:20.282 [debug] QUERY OK source="media_items" db=0.3ms idle=92.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"))) [] 18:49:20.283 [debug] QUERY OK source="media_items" db=0.5ms idle=92.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] 18:49:20.284 [debug] QUERY OK source="sources" db=0.1ms queue=0.2ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:49:20.284 [debug] Replied in 2ms 18:49:20.285 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:49:20.286 [debug] QUERY OK source="tasks" db=0.4ms idle=7.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"] 18:49:20.287 [debug] QUERY OK source="sources" db=0.2ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:49:20.287 [debug] QUERY OK source="media_items" db=0.4ms idle=7.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [25, 26] 18:49:20.287 [debug] Replied in 1ms 18:49:20.289 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:49:20.289 [debug] Replied in 91µs 18:49:20.936 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 293, "filename" => "/downloads/UnpragmaticCovers/2025-08-08 Famous Last Words - My Chemical Romance but it's the OldSchool RuneScape soundfont/Famous Last Words - My Chemical Romance but it's the OldSchool RuneScape soundfont [TOQQh1BUQhA].mp4", "id" => "TOQQh1BUQhA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=TOQQh1BUQhA", "playlist_index" => 113, "timestamp" => 1754661648, "title" => "Famous Last Words - My Chemical Romance but it's the OldSchool RuneScape soundfont", "upload_date" => "20250808"} 18:49:20.937 [debug] QUERY OK source="sources" db=0.4ms idle=652.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:49:20.937 [debug] QUERY OK source="sources" db=0.3ms idle=650.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:49:20.938 [debug] QUERY OK source="media_items" db=0.4ms idle=650.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-08 14:00:48Z], 1] 18:49:20.940 [debug] QUERY OK source="media_items" db=1.1ms idle=651.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Famous Last Words - My Chemical Romance but it's the OldSchool RuneScape soundfont", "45da8ae6-8ca9-4976-828b-8b1412d9d737", "TOQQh1BUQhA", false, "https://www.youtube.com/watch?v=TOQQh1BUQhA", 1, [], 293, false, 113, "/downloads/UnpragmaticCovers/2025-08-08 Famous Last Words - My Chemical Romance but it's the OldSchool RuneScape soundfont/Famous Last Words - My Chemical Romance but it's the OldSchool RuneScape soundfont [TOQQh1BUQhA].mp4", false, false, 99, ~U[2025-08-08 14:00:48Z], ~U[2026-06-27 16:49:20Z], ~U[2026-06-27 16:49:20Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Famous Last Words - My Chemical Romance but it's the OldSchool RuneScape soundfont", "TOQQh1BUQhA", "https://www.youtube.com/watch?v=TOQQh1BUQhA", 1, 293, false, "/downloads/UnpragmaticCovers/2025-08-08 Famous Last Words - My Chemical Romance but it's the OldSchool RuneScape soundfont/Famous Last Words - My Chemical Romance but it's the OldSchool RuneScape soundfont [TOQQh1BUQhA].mp4", false, ~U[2025-08-08 14:00:48Z]] 18:49:20.941 [debug] QUERY OK source="sources" db=0.7ms idle=295.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:20.943 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:49:20.944 [debug] QUERY OK source="media_items" db=0.8ms idle=5.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [113] 18:49:20.944 [info] Kicking off download for media item #113 (TOQQh1BUQhA) 18:49:20.948 [debug] QUERY OK source="tasks" db=0.2ms idle=6.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [116, 113, ~U[2026-06-27 16:49:20Z], ~U[2026-06-27 16:49:20Z]] 18:49:20.948 [debug] Current batch of media processed. Will check again in 1000ms 18:49:21.949 [debug] Current batch of media processed. Will check again in 1000ms 18:49:22.950 [debug] Current batch of media processed. Will check again in 1000ms 18:49:23.952 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 269, "filename" => "/downloads/UnpragmaticCovers/2025-08-05 Sonne - Rammstein but it's the OldSchool RuneScape soundfont/Sonne - Rammstein but it's the OldSchool RuneScape soundfont [KrfwC7lmj5A].mp4", "id" => "KrfwC7lmj5A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=KrfwC7lmj5A", "playlist_index" => 114, "timestamp" => 1754402436, "title" => "Sonne - Rammstein but it's the OldSchool RuneScape soundfont", "upload_date" => "20250805"} 18:49:23.953 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1905.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:49:23.953 [debug] QUERY OK source="sources" db=0.3ms idle=1906.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:49:23.955 [debug] QUERY OK source="media_items" db=1.0ms queue=0.5ms idle=1907.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-05 14:00:36Z], 1] 18:49:23.958 [debug] QUERY OK source="media_items" db=2.0ms idle=1304.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Sonne - Rammstein but it's the OldSchool RuneScape soundfont", "c8a3ef3e-610e-44d5-827f-157fc62dd51b", "KrfwC7lmj5A", false, "https://www.youtube.com/watch?v=KrfwC7lmj5A", 1, [], 269, false, 114, "/downloads/UnpragmaticCovers/2025-08-05 Sonne - Rammstein but it's the OldSchool RuneScape soundfont/Sonne - Rammstein but it's the OldSchool RuneScape soundfont [KrfwC7lmj5A].mp4", false, false, 99, ~U[2025-08-05 14:00:36Z], ~U[2026-06-27 16:49:23Z], ~U[2026-06-27 16:49:23Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Sonne - Rammstein but it's the OldSchool RuneScape soundfont", "KrfwC7lmj5A", "https://www.youtube.com/watch?v=KrfwC7lmj5A", 1, 269, false, "/downloads/UnpragmaticCovers/2025-08-05 Sonne - Rammstein but it's the OldSchool RuneScape soundfont/Sonne - Rammstein but it's the OldSchool RuneScape soundfont [KrfwC7lmj5A].mp4", false, ~U[2025-08-05 14:00:36Z]] 18:49:23.959 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=304.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:23.960 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=6.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:49:23.961 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=6.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [114] 18:49:23.961 [info] Kicking off download for media item #114 (KrfwC7lmj5A) 18:49:23.965 [debug] QUERY OK source="tasks" db=0.3ms idle=5.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [117, 114, ~U[2026-06-27 16:49:23Z], ~U[2026-06-27 16:49:23Z]] 18:49:23.965 [debug] Current batch of media processed. Will check again in 1000ms 18:49:24.177 [debug] HANDLE EVENT "reload_page" in Pinchflat.Pages.HistoryTableLive Parameters: %{"value" => ""} 18:49:24.179 [debug] QUERY OK source="media_items" db=1.1ms queue=0.3ms idle=217.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)) [] 18:49:24.181 [debug] QUERY OK source="media_items" db=1.3ms idle=218.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] 18:49:24.182 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=218.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:24.183 [debug] Replied in 5ms 18:49:24.966 [debug] Current batch of media processed. Will check again in 1000ms 18:49:25.967 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 250, "filename" => "/downloads/UnpragmaticCovers/2025-08-01 L'Enfant Sauvage - Gojira but it's the OldSchool RuneScape soundfont/L'Enfant Sauvage - Gojira but it's the OldSchool RuneScape soundfont [trzB2ysLeWM].mp4", "id" => "trzB2ysLeWM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=trzB2ysLeWM", "playlist_index" => 115, "timestamp" => 1754056886, "title" => "L'Enfant Sauvage - Gojira but it's the OldSchool RuneScape soundfont", "upload_date" => "20250801"} 18:49:25.968 [debug] QUERY OK source="sources" db=0.3ms idle=1786.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:49:25.969 [debug] QUERY OK source="sources" db=0.5ms idle=1786.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:49:25.970 [debug] QUERY OK source="media_items" db=0.4ms idle=1314.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-01 14:01:26Z], 1] 18:49:25.971 [debug] QUERY OK source="media_items" db=0.7ms idle=924.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "L'Enfant Sauvage - Gojira but it's the OldSchool RuneScape soundfont", "d35885d3-f589-42f1-8b03-f636e4e8d43d", "trzB2ysLeWM", false, "https://www.youtube.com/watch?v=trzB2ysLeWM", 1, [], 250, false, 115, "/downloads/UnpragmaticCovers/2025-08-01 L'Enfant Sauvage - Gojira but it's the OldSchool RuneScape soundfont/L'Enfant Sauvage - Gojira but it's the OldSchool RuneScape soundfont [trzB2ysLeWM].mp4", false, false, 99, ~U[2025-08-01 14:01:26Z], ~U[2026-06-27 16:49:25Z], ~U[2026-06-27 16:49:25Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "L'Enfant Sauvage - Gojira but it's the OldSchool RuneScape soundfont", "trzB2ysLeWM", "https://www.youtube.com/watch?v=trzB2ysLeWM", 1, 250, false, "/downloads/UnpragmaticCovers/2025-08-01 L'Enfant Sauvage - Gojira but it's the OldSchool RuneScape soundfont/L'Enfant Sauvage - Gojira but it's the OldSchool RuneScape soundfont [trzB2ysLeWM].mp4", false, ~U[2025-08-01 14:01:26Z]] 18:49:25.972 [debug] QUERY OK source="sources" db=0.3ms idle=314.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:49:25.972 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:49:25.973 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [115] 18:49:25.973 [info] Kicking off download for media item #115 (trzB2ysLeWM) 18:49:25.976 [debug] QUERY OK source="tasks" db=0.1ms idle=4.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [118, 115, ~U[2026-06-27 16:49:25Z], ~U[2026-06-27 16:49:25Z]] 18:49:25.976 [debug] Current batch of media processed. Will check again in 1000ms 18:49:26.203 [debug] HANDLE EVENT "reload_page" in Pinchflat.Pages.HistoryTableLive Parameters: %{"value" => ""} 18:49:26.204 [debug] QUERY OK source="media_items" db=0.3ms idle=231.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)) [] 18:49:26.205 [debug] QUERY OK source="media_items" db=0.4ms idle=231.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] 18:49:26.205 [debug] QUERY OK source="sources" db=0.2ms idle=230.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:26.205 [debug] Replied in 1ms 18:49:26.794 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=s0fmhy5qU10 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3f/47/3f47aa0cfeeae2cc6d670a41c1c10bfe4a73b04985855fdae401b6921d4e23b1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:49:26.795 [debug] Running yt-dlp command for action: download 18:49:26.795 [debug] QUERY OK source="settings" db=0.2ms idle=818.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.796 [debug] QUERY OK source="settings" db=0.4ms idle=591.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.796 [debug] QUERY OK source="settings" db=0.5ms idle=591.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.797 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=s0fmhy5qU10 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b4/d3/b4d39f4256d6f3a0f18ff40644ecd2a93f02b4aa21739dd49ce9b4deff167f38.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:49:26.977 [debug] Current batch of media processed. Will check again in 1000ms 18:49:27.979 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "R.I.P. 🦇\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 294, "filename" => "/downloads/UnpragmaticCovers/2025-07-29 Crazy Train - Ozzy Osbourne but it's the OldSchool RuneScape soundfont/Crazy Train - Ozzy Osbourne but it's the OldSchool RuneScape soundfont [6r_lV14SocY].mp4", "id" => "6r_lV14SocY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=6r_lV14SocY", "playlist_index" => 116, "timestamp" => 1753797609, "title" => "Crazy Train - Ozzy Osbourne but it's the OldSchool RuneScape soundfont", "upload_date" => "20250729"} 18:49:27.980 [debug] QUERY OK source="sources" db=0.4ms idle=1317.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:49:27.980 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1184.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:49:27.981 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1185.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-29 14:00:09Z], 1] 18:49:27.983 [debug] QUERY OK source="media_items" db=0.7ms idle=1185.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["R.I.P. 🦇\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Crazy Train - Ozzy Osbourne but it's the OldSchool RuneScape soundfont", "cb5f3281-4862-4aa4-9c67-250fa936e1b2", "6r_lV14SocY", false, "https://www.youtube.com/watch?v=6r_lV14SocY", 1, [], 294, false, 116, "/downloads/UnpragmaticCovers/2025-07-29 Crazy Train - Ozzy Osbourne but it's the OldSchool RuneScape soundfont/Crazy Train - Ozzy Osbourne but it's the OldSchool RuneScape soundfont [6r_lV14SocY].mp4", false, false, 99, ~U[2025-07-29 14:00:09Z], ~U[2026-06-27 16:49:27Z], ~U[2026-06-27 16:49:27Z], "R.I.P. 🦇\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Crazy Train - Ozzy Osbourne but it's the OldSchool RuneScape soundfont", "6r_lV14SocY", "https://www.youtube.com/watch?v=6r_lV14SocY", 1, 294, false, "/downloads/UnpragmaticCovers/2025-07-29 Crazy Train - Ozzy Osbourne but it's the OldSchool RuneScape soundfont/Crazy Train - Ozzy Osbourne but it's the OldSchool RuneScape soundfont [6r_lV14SocY].mp4", false, ~U[2025-07-29 14:00:09Z]] 18:49:27.983 [debug] QUERY OK source="sources" db=0.1ms idle=319.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:27.984 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:49:27.984 [debug] QUERY OK source="media_items" db=0.4ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [116] 18:49:27.984 [info] Kicking off download for media item #116 (6r_lV14SocY) 18:49:27.986 [debug] QUERY OK source="tasks" db=0.1ms queue=0.1ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [119, 116, ~U[2026-06-27 16:49:27Z], ~U[2026-06-27 16:49:27Z]] 18:49:27.986 [debug] Current batch of media processed. Will check again in 1000ms 18:49:28.987 [debug] Current batch of media processed. Will check again in 1000ms 18:49:29.990 [debug] Current batch of media processed. Will check again in 1000ms 18:49:30.991 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 218, "filename" => "/downloads/UnpragmaticCovers/2025-07-25 Go Your Own Way - Fleetwood Mac but it's the OldSchool RuneScape soundfont/Go Your Own Way - Fleetwood Mac but it's the OldSchool RuneScape soundfont [Ju_IeFIx8Rw].mp4", "id" => "Ju_IeFIx8Rw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Ju_IeFIx8Rw", "playlist_index" => 117, "timestamp" => 1753452036, "title" => "Go Your Own Way - Fleetwood Mac but it's the OldSchool RuneScape soundfont", "upload_date" => "20250725"} 18:49:30.992 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1942.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:49:30.994 [debug] QUERY OK source="sources" db=0.9ms queue=0.2ms idle=1944.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:49:30.996 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=1945.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-25 14:00:36Z], 1] 18:49:31.002 [debug] QUERY OK source="media_items" db=5.5ms queue=0.1ms idle=1326.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Go Your Own Way - Fleetwood Mac but it's the OldSchool RuneScape soundfont", "bdf914f2-6adf-4d28-bb12-5de3d7a7c270", "Ju_IeFIx8Rw", false, "https://www.youtube.com/watch?v=Ju_IeFIx8Rw", 1, [], 218, false, 117, "/downloads/UnpragmaticCovers/2025-07-25 Go Your Own Way - Fleetwood Mac but it's the OldSchool RuneScape soundfont/Go Your Own Way - Fleetwood Mac but it's the OldSchool RuneScape soundfont [Ju_IeFIx8Rw].mp4", false, false, 99, ~U[2025-07-25 14:00:36Z], ~U[2026-06-27 16:49:30Z], ~U[2026-06-27 16:49:30Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Go Your Own Way - Fleetwood Mac but it's the OldSchool RuneScape soundfont", "Ju_IeFIx8Rw", "https://www.youtube.com/watch?v=Ju_IeFIx8Rw", 1, 218, false, "/downloads/UnpragmaticCovers/2025-07-25 Go Your Own Way - Fleetwood Mac but it's the OldSchool RuneScape soundfont/Go Your Own Way - Fleetwood Mac but it's the OldSchool RuneScape soundfont [Ju_IeFIx8Rw].mp4", false, ~U[2025-07-25 14:00:36Z]] 18:49:31.003 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=329.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:49:31.004 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=11.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:49:31.006 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=11.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [117] 18:49:31.006 [info] Kicking off download for media item #117 (Ju_IeFIx8Rw) 18:49:31.010 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=5.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [120, 117, ~U[2026-06-27 16:49:31Z], ~U[2026-06-27 16:49:31Z]] 18:49:31.010 [debug] Current batch of media processed. Will check again in 1000ms 18:49:31.914 [info] GET /sources/1/media/20 18:49:31.914 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "20", "source_id" => "1"} Pipelines: [:browser] 18:49:31.916 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=909.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" = ?) [20] 18:49:31.917 [debug] QUERY OK source="tasks" db=0.5ms idle=908.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" [20] 18:49:31.918 [debug] QUERY OK source="sources" db=0.6ms idle=908.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:31.919 [debug] QUERY OK source="oban_jobs" db=0.7ms idle=908.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" = ?) [23] 18:49:31.921 [debug] QUERY OK source="settings" db=0.8ms queue=0.3ms idle=244.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:31.922 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:31.923 [debug] QUERY OK source="settings" db=0.4ms 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 [] 18:49:31.925 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:49:31.929 [info] Sent 200 in 14ms 18:49:32.011 [debug] Current batch of media processed. Will check again in 1000ms 18:49:32.092 [info] GET /media/f3e1d5c1-0551-46a6-b7d2-0f9dcbe5f2c3/stream 18:49:32.092 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "f3e1d5c1-0551-46a6-b7d2-0f9dcbe5f2c3", "v" => "1782578893"} Pipelines: [:maybe_basic_auth] 18:49:32.093 [debug] QUERY OK source="media_items" db=0.5ms idle=173.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" = ?) ["f3e1d5c1-0551-46a6-b7d2-0f9dcbe5f2c3"] 18:49:32.094 [debug] Streaming media item: f3e1d5c1-0551-46a6-b7d2-0f9dcbe5f2c3 from 0 to 4890899 18:49:32.094 [info] Sent 206 in 1ms 18:49:32.119 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Fy4OBzQCDmwhGBQAFFEHISl0UhUrLDcItMJ1CGc-hnDnMcLih-5lNepi", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:49:32.130 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:49:32.130 [debug] Replied in 149µs 18:49:33.012 [debug] Current batch of media processed. Will check again in 1000ms 18:49:34.013 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Two fally park girls go round the outside\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 288, "filename" => "/downloads/UnpragmaticCovers/2025-07-22 Without Me - Eminem but it's the OldSchool RuneScape soundfont/Without Me - Eminem but it's the OldSchool RuneScape soundfont [l7dhBjlo-SI].mp4", "id" => "l7dhBjlo-SI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=l7dhBjlo-SI", "playlist_index" => 118, "timestamp" => 1753192879, "title" => "Without Me - Eminem but it's the OldSchool RuneScape soundfont", "upload_date" => "20250722"} 18:49:34.014 [debug] QUERY OK source="sources" db=0.3ms idle=1337.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:49:34.015 [debug] QUERY OK source="sources" db=0.2ms idle=965.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:49:34.015 [debug] QUERY OK source="media_items" db=0.3ms idle=966.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-22 14:01:19Z], 1] 18:49:34.016 [debug] QUERY OK source="media_items" db=0.8ms idle=967.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Two fally park girls go round the outside\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Without Me - Eminem but it's the OldSchool RuneScape soundfont", "c9cc65f4-e3bf-4ba1-aac9-105f48cce488", "l7dhBjlo-SI", false, "https://www.youtube.com/watch?v=l7dhBjlo-SI", 1, [], 288, false, 118, "/downloads/UnpragmaticCovers/2025-07-22 Without Me - Eminem but it's the OldSchool RuneScape soundfont/Without Me - Eminem but it's the OldSchool RuneScape soundfont [l7dhBjlo-SI].mp4", false, false, 99, ~U[2025-07-22 14:01:19Z], ~U[2026-06-27 16:49:34Z], ~U[2026-06-27 16:49:34Z], "Two fally park girls go round the outside\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Without Me - Eminem but it's the OldSchool RuneScape soundfont", "l7dhBjlo-SI", "https://www.youtube.com/watch?v=l7dhBjlo-SI", 1, 288, false, "/downloads/UnpragmaticCovers/2025-07-22 Without Me - Eminem but it's the OldSchool RuneScape soundfont/Without Me - Eminem but it's the OldSchool RuneScape soundfont [l7dhBjlo-SI].mp4", false, ~U[2025-07-22 14:01:19Z]] 18:49:34.017 [debug] QUERY OK source="sources" db=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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:49:34.017 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:49:34.018 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118] 18:49:34.018 [info] Kicking off download for media item #118 (l7dhBjlo-SI) 18:49:34.021 [debug] QUERY OK source="tasks" db=0.1ms idle=4.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [121, 118, ~U[2026-06-27 16:49:34Z], ~U[2026-06-27 16:49:34Z]] 18:49:34.021 [debug] Current batch of media processed. Will check again in 1000ms 18:49:34.275 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=94Oya35N2Qc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7c/e5/7ce5ecff9df8df646e76614b224d3fcaf2d9d29abe22be18241e30fe256ed4ae.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:49:34.296 [debug] Running yt-dlp command for action: download_thumbnail 18:49:34.297 [debug] QUERY OK source="settings" db=0.2ms idle=279.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:34.297 [debug] QUERY OK source="settings" db=0.3ms idle=278.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:34.298 [debug] QUERY OK source="settings" db=0.3ms idle=277.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:34.298 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=94Oya35N2Qc --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/0e/17/0e17679fa58bd969a369f73fe8d79aa1cb10e640e598a22aa7b48da20dac25c6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:49:35.022 [debug] Current batch of media processed. Will check again in 1000ms 18:49:36.024 [debug] Current batch of media processed. Will check again in 1000ms 18:49:36.042 [info] GET /media/f3e1d5c1-0551-46a6-b7d2-0f9dcbe5f2c3/stream 18:49:36.042 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "f3e1d5c1-0551-46a6-b7d2-0f9dcbe5f2c3", "v" => "1782578893"} Pipelines: [:maybe_basic_auth] 18:49:36.044 [debug] QUERY OK source="media_items" db=0.7ms queue=1.0ms idle=1744.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" = ?) ["f3e1d5c1-0551-46a6-b7d2-0f9dcbe5f2c3"] 18:49:36.046 [debug] Streaming media item: f3e1d5c1-0551-46a6-b7d2-0f9dcbe5f2c3 from 2031616 to 4890899 18:49:36.046 [info] Sent 206 in 3ms 18:49:37.025 [debug] Current batch of media processed. Will check again in 1000ms 18:49:38.027 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 288, "filename" => "/downloads/UnpragmaticCovers/2025-07-18 Mr. Blue Sky - Electric Light Orchestra but it's the OldSchool RuneScape soundfont/Mr. Blue Sky - Electric Light Orchestra but it's the OldSchool RuneScape soundfont [JvqH7i4OU1o].mp4", "id" => "JvqH7i4OU1o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JvqH7i4OU1o", "playlist_index" => 119, "timestamp" => 1752847227, "title" => "Mr. Blue Sky - Electric Light Orchestra but it's the OldSchool RuneScape soundfont", "upload_date" => "20250718"} 18:49:38.029 [debug] QUERY OK source="sources" db=1.5ms idle=1975.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:49:38.031 [debug] QUERY OK source="sources" db=0.9ms queue=1.5ms idle=1335.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:49:38.033 [debug] QUERY OK source="media_items" db=1.3ms idle=980.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-18 14:00:27Z], 1] 18:49:38.036 [debug] QUERY OK source="media_items" db=1.5ms idle=983.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Mr. Blue Sky - Electric Light Orchestra but it's the OldSchool RuneScape soundfont", "1229bbbb-eda6-4742-9be1-1b2ebe72e44e", "JvqH7i4OU1o", false, "https://www.youtube.com/watch?v=JvqH7i4OU1o", 1, [], 288, false, 119, "/downloads/UnpragmaticCovers/2025-07-18 Mr. Blue Sky - Electric Light Orchestra but it's the OldSchool RuneScape soundfont/Mr. Blue Sky - Electric Light Orchestra but it's the OldSchool RuneScape soundfont [JvqH7i4OU1o].mp4", false, false, 99, ~U[2025-07-18 14:00:27Z], ~U[2026-06-27 16:49:38Z], ~U[2026-06-27 16:49:38Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Mr. Blue Sky - Electric Light Orchestra but it's the OldSchool RuneScape soundfont", "JvqH7i4OU1o", "https://www.youtube.com/watch?v=JvqH7i4OU1o", 1, 288, false, "/downloads/UnpragmaticCovers/2025-07-18 Mr. Blue Sky - Electric Light Orchestra but it's the OldSchool RuneScape soundfont/Mr. Blue Sky - Electric Light Orchestra but it's the OldSchool RuneScape soundfont [JvqH7i4OU1o].mp4", false, ~U[2025-07-18 14:00:27Z]] 18:49:38.038 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=340.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:38.041 [debug] QUERY OK source="media_profiles" db=1.7ms queue=0.8ms idle=9.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:49:38.046 [debug] QUERY OK source="media_items" db=3.3ms idle=11.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119] 18:49:38.046 [info] Kicking off download for media item #119 (JvqH7i4OU1o) 18:49:38.056 [debug] QUERY OK source="tasks" db=2.0ms queue=0.1ms idle=15.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [122, 119, ~U[2026-06-27 16:49:38Z], ~U[2026-06-27 16:49:38Z]] 18:49:38.056 [debug] Current batch of media processed. Will check again in 1000ms 18:49:39.057 [debug] Current batch of media processed. Will check again in 1000ms 18:49:39.639 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=94Oya35N2Qc --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/0e/17/0e17679fa58bd969a369f73fe8d79aa1cb10e640e598a22aa7b48da20dac25c6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:49:39.645 [debug] QUERY OK db=1.4ms idle=1590.8ms begin [] 18:49:39.647 [debug] QUERY OK source="media_items" db=0.7ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "predicted_media_filepath" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/youtube/UnpragmaticCovers/2026-04-05 Them Bones - Alice In Chains but it's the OldSchool RuneScape soundfont/Them Bones - Alice In Chains but it's the OldSchool RuneScape soundfont [94Oya35N2Qc].mp4", "/downloads/youtube/UnpragmaticCovers/2026-04-05 Them Bones - Alice In Chains but it's the OldSchool RuneScape soundfont/Them Bones - Alice In Chains but it's the OldSchool RuneScape soundfont [94Oya35N2Qc]-thumb.jpg", ~U[2026-06-27 16:49:34Z], "/downloads/youtube/UnpragmaticCovers/2026-04-05 Them Bones - Alice In Chains but it's the OldSchool RuneScape soundfont/Them Bones - Alice In Chains but it's the OldSchool RuneScape soundfont [94Oya35N2Qc].mp4", ~U[2026-06-27 16:49:39Z], 25] 18:49:39.649 [debug] QUERY OK source="media_metadata" db=1.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/25/metadata.json.gz", "/config/metadata/media_items/25/thumbnail.jpg", 25, ~U[2026-06-27 16:49:39Z], ~U[2026-06-27 16:49:39Z]] 18:49:39.650 [debug] QUERY OK db=0.5ms commit [] 18:49:39.655 [debug] QUERY OK source="media_items" db=2.9ms idle=1598.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [3868091, ~U[2026-06-27 16:49:39Z], 25] 18:49:39.658 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:49:39.660 [info] {"args":{"id":25},"id":28,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":27591257,"event":"job:stop","queue_time":286066655,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:49:39.668 [info] {"args":{"id":27},"id":30,"meta":{},"system_time":1782578979668424355,"max_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:39.670 [debug] QUERY OK source="media_items" db=1.9ms idle=617.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" = ?) [27] 18:49:39.671 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:49:39.675 [debug] QUERY OK source="sources" db=1.8ms queue=0.6ms idle=22.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:49:39.678 [debug] QUERY OK source="media_profiles" db=2.8ms queue=0.1ms idle=20.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:39.681 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=19.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [27] 18:49:39.686 [debug] QUERY OK source="media_metadata" db=0.6ms 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" = ?) [27] 18:49:39.688 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.3ms 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] 18:49:39.691 [debug] QUERY OK source="settings" db=1.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 [] 18:49:39.693 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=13.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:39.698 [debug] Running yt-dlp command for action: get_downloadable_status 18:49:39.703 [debug] QUERY OK source="settings" db=1.8ms 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:39.708 [debug] QUERY OK source="settings" db=3.5ms queue=0.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 [] 18:49:39.710 [debug] QUERY OK source="settings" db=1.7ms 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 [] 18:49:39.710 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8F_xwRVay2k --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c5/0b/c50b0375f4963c853e33a05f219fde3624bbccc462740a3929a4f1e93fa54417.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:49:39.962 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=s0fmhy5qU10 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b4/d3/b4d39f4256d6f3a0f18ff40644ecd2a93f02b4aa21739dd49ce9b4deff167f38.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:49:39.971 [debug] Running yt-dlp command for action: download_thumbnail 18:49:39.973 [debug] QUERY OK source="settings" db=0.4ms 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 [] 18:49:39.974 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=270.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:39.975 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=266.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:39.976 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=s0fmhy5qU10 --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/35/fe/35fe3cf9730d02e743b79d9c56d6fe04660343da320cc3ce219a7bf53bc4726c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:49:40.060 [debug] Current batch of media processed. Will check again in 1000ms 18:49:41.061 [debug] Current batch of media processed. Will check again in 1000ms 18:49:42.062 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Buddy Thrally\nArtwork credit to Sam and Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 160, "filename" => "/downloads/UnpragmaticCovers/2025-07-15 Buddy Holly - Weezer but it's the OldSchool RuneScape soundfont/Buddy Holly - Weezer but it's the OldSchool RuneScape soundfont [XAZ4ay3j0Xc].mp4", "id" => "XAZ4ay3j0Xc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XAZ4ay3j0Xc", "playlist_index" => 120, "timestamp" => 1752588061, "title" => "Buddy Holly - Weezer but it's the OldSchool RuneScape soundfont", "upload_date" => "20250715"} 18:49:42.063 [debug] QUERY OK source="sources" db=0.4ms idle=1010.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:49:42.064 [debug] QUERY OK source="sources" db=0.3ms idle=1010.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:49:42.065 [debug] QUERY OK source="media_items" db=0.5ms idle=1011.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-15 14:01:01Z], 1] 18:49:42.066 [debug] QUERY OK source="media_items" db=1.3ms idle=1012.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Buddy Thrally\nArtwork credit to Sam and Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Buddy Holly - Weezer but it's the OldSchool RuneScape soundfont", "9ab81e8a-e904-4860-9c60-b9d2ab8924a9", "XAZ4ay3j0Xc", false, "https://www.youtube.com/watch?v=XAZ4ay3j0Xc", 1, [], 160, false, 120, "/downloads/UnpragmaticCovers/2025-07-15 Buddy Holly - Weezer but it's the OldSchool RuneScape soundfont/Buddy Holly - Weezer but it's the OldSchool RuneScape soundfont [XAZ4ay3j0Xc].mp4", false, false, 99, ~U[2025-07-15 14:01:01Z], ~U[2026-06-27 16:49:42Z], ~U[2026-06-27 16:49:42Z], "Buddy Thrally\nArtwork credit to Sam and Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Buddy Holly - Weezer but it's the OldSchool RuneScape soundfont", "XAZ4ay3j0Xc", "https://www.youtube.com/watch?v=XAZ4ay3j0Xc", 1, 160, false, "/downloads/UnpragmaticCovers/2025-07-15 Buddy Holly - Weezer but it's the OldSchool RuneScape soundfont/Buddy Holly - Weezer but it's the OldSchool RuneScape soundfont [XAZ4ay3j0Xc].mp4", false, ~U[2025-07-15 14:01:01Z]] 18:49:42.067 [debug] QUERY OK source="sources" db=0.4ms 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] 18:49:42.068 [debug] QUERY OK source="media_profiles" db=0.6ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:49:42.069 [debug] QUERY OK source="media_items" db=0.6ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [120] 18:49:42.069 [info] Kicking off download for media item #120 (XAZ4ay3j0Xc) 18:49:42.071 [debug] QUERY OK source="tasks" db=0.1ms idle=4.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [123, 120, ~U[2026-06-27 16:49:42Z], ~U[2026-06-27 16:49:42Z]] 18:49:42.071 [debug] Current batch of media processed. Will check again in 1000ms 18:49:43.072 [debug] Current batch of media processed. Will check again in 1000ms 18:49:44.075 [debug] Current batch of media processed. Will check again in 1000ms 18:49:45.078 [debug] Current batch of media processed. Will check again in 1000ms 18:49:46.082 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Somebody told me that you bought a gf\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 196, "filename" => "/downloads/UnpragmaticCovers/2025-07-11 Somebody Told Me - The Killers but it's the OldSchool RuneScape soundfont/Somebody Told Me - The Killers but it's the OldSchool RuneScape soundfont [1aGAqYul-YI].mp4", "id" => "1aGAqYul-YI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1aGAqYul-YI", "playlist_index" => 121, "timestamp" => 1752242406, "title" => "Somebody Told Me - The Killers but it's the OldSchool RuneScape soundfont", "upload_date" => "20250711"} 18:49:46.088 [debug] QUERY OK source="sources" db=2.2ms queue=2.3ms idle=328.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:49:46.093 [debug] QUERY OK source="sources" db=3.0ms idle=30.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:49:46.094 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=33.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-11 14:00:06Z], 1] 18:49:46.102 [debug] QUERY OK source="media_items" db=4.7ms queue=0.1ms idle=38.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Somebody told me that you bought a gf\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Somebody Told Me - The Killers but it's the OldSchool RuneScape soundfont", "4837dfa4-eae4-4bc5-9624-72502e5d5917", "1aGAqYul-YI", false, "https://www.youtube.com/watch?v=1aGAqYul-YI", 1, [], 196, false, 121, "/downloads/UnpragmaticCovers/2025-07-11 Somebody Told Me - The Killers but it's the OldSchool RuneScape soundfont/Somebody Told Me - The Killers but it's the OldSchool RuneScape soundfont [1aGAqYul-YI].mp4", false, false, 99, ~U[2025-07-11 14:00:06Z], ~U[2026-06-27 16:49:46Z], ~U[2026-06-27 16:49:46Z], "Somebody told me that you bought a gf\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Somebody Told Me - The Killers but it's the OldSchool RuneScape soundfont", "1aGAqYul-YI", "https://www.youtube.com/watch?v=1aGAqYul-YI", 1, 196, false, "/downloads/UnpragmaticCovers/2025-07-11 Somebody Told Me - The Killers but it's the OldSchool RuneScape soundfont/Somebody Told Me - The Killers but it's the OldSchool RuneScape soundfont [1aGAqYul-YI].mp4", false, ~U[2025-07-11 14:00:06Z]] 18:49:46.111 [debug] QUERY OK source="sources" db=5.4ms queue=0.7ms idle=45.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:49:46.116 [debug] QUERY OK source="media_profiles" db=4.4ms queue=0.5ms 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:49:46.139 [debug] QUERY OK source="media_items" db=21.9ms idle=23.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [121] 18:49:46.140 [info] Kicking off download for media item #121 (1aGAqYul-YI) 18:49:46.150 [debug] QUERY OK source="tasks" db=2.3ms queue=2.5ms idle=34.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [124, 121, ~U[2026-06-27 16:49:46Z], ~U[2026-06-27 16:49:46Z]] 18:49:46.151 [debug] Current batch of media processed. Will check again in 1000ms 18:49:46.329 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8F_xwRVay2k --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c5/0b/c50b0375f4963c853e33a05f219fde3624bbccc462740a3929a4f1e93fa54417.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:49:46.330 [debug] Running yt-dlp command for action: download 18:49:46.331 [debug] QUERY OK source="settings" db=0.7ms idle=214.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:46.332 [debug] QUERY OK source="settings" db=1.3ms idle=194.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:46.335 [debug] QUERY OK source="settings" db=1.5ms queue=0.5ms idle=190.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:46.335 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8F_xwRVay2k --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f7/d5/f7d5a35b4c8f70a31b8bf82d63477eb89521e54424030688c56af2aae5c6057c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:49:47.152 [debug] Current batch of media processed. Will check again in 1000ms 18:49:47.643 [info] {"source":"oban","duration":5519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:48.152 [debug] Current batch of media processed. Will check again in 1000ms 18:49:48.823 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=s0fmhy5qU10 --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/35/fe/35fe3cf9730d02e743b79d9c56d6fe04660343da320cc3ce219a7bf53bc4726c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:49:48.825 [debug] QUERY OK db=0.6ms queue=0.6ms idle=1040.3ms begin [] 18:49:48.828 [debug] QUERY OK source="media_items" db=2.6ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "predicted_media_filepath" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/youtube/UnpragmaticCovers/2026-04-03 Eldric and Branda (Original OldSchool RuneScape Soundfont Song)/Eldric and Branda (Original OldSchool RuneScape Soundfont Song) [s0fmhy5qU10].mp4", "/downloads/youtube/UnpragmaticCovers/2026-04-03 Eldric and Branda (Original OldSchool RuneScape Soundfont Song)/Eldric and Branda (Original OldSchool RuneScape Soundfont Song) [s0fmhy5qU10]-thumb.jpg", ~U[2026-06-27 16:49:39Z], "/downloads/youtube/UnpragmaticCovers/2026-04-03 Eldric and Branda (Original OldSchool RuneScape Soundfont Song)/Eldric and Branda (Original OldSchool RuneScape Soundfont Song) [s0fmhy5qU10].mp4", ~U[2026-06-27 16:49:48Z], 26] 18:49:48.830 [debug] QUERY OK source="media_metadata" db=1.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/26/metadata.json.gz", "/config/metadata/media_items/26/thumbnail.jpg", 26, ~U[2026-06-27 16:49:48Z], ~U[2026-06-27 16:49:48Z]] 18:49:48.831 [debug] QUERY OK db=0.3ms commit [] 18:49:48.834 [debug] QUERY OK source="media_items" db=1.8ms idle=773.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [11083701, ~U[2026-06-27 16:49:48Z], 26] 18:49:48.834 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:49:48.836 [info] {"args":{"id":26},"id":29,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":34228935,"event":"job:stop","queue_time":285604729,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:49:48.842 [info] {"args":{"id":28},"id":31,"meta":{},"system_time":1782578988842704088,"max_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:48.843 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=56.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" = ?) [28] 18:49:48.844 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:49:48.845 [debug] QUERY OK source="sources" db=0.4ms queue=0.4ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:49:48.847 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.9ms idle=11.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:49:48.849 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=12.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [28] 18:49:48.852 [debug] QUERY OK source="media_metadata" db=0.1ms idle=9.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" = ?) [28] 18:49:48.852 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=8.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:49:48.853 [debug] QUERY OK source="settings" db=0.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 [] 18:49:48.854 [debug] QUERY OK source="settings" db=0.4ms queue=0.4ms 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 [] 18:49:48.856 [debug] Running yt-dlp command for action: get_downloadable_status 18:49:48.858 [debug] QUERY OK source="settings" db=0.3ms 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 [] 18:49:48.859 [debug] QUERY OK source="settings" db=0.3ms 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 [] 18:49:48.859 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:48.859 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IgVSJWuWFiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7d/44/7d441b1a69e01fa4b06edd7408d87ac019228a309f16590a4df667ad2aa1feea.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:49:49.153 [debug] Current batch of media processed. Will check again in 1000ms 18:49:50.158 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 211, "filename" => "/downloads/UnpragmaticCovers/2025-07-08 Dragostea Din Tei (Numa Numa) but it's the OldSchool RuneScape soundfont/Dragostea Din Tei (Numa Numa) but it's the OldSchool RuneScape soundfont [2mLtCHC1zhU].mp4", "id" => "2mLtCHC1zhU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2mLtCHC1zhU", "playlist_index" => 122, "timestamp" => 1751983205, "title" => "Dragostea Din Tei (Numa Numa) but it's the OldSchool RuneScape soundfont", "upload_date" => "20250708"} 18:49:50.159 [debug] QUERY OK source="sources" db=0.3ms idle=366.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:49:50.161 [debug] QUERY OK source="sources" db=0.3ms queue=0.4ms idle=97.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:49:50.161 [debug] QUERY OK source="media_items" db=0.4ms idle=98.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-08 14:00:05Z], 1] 18:49:50.163 [debug] QUERY OK source="media_items" db=0.7ms idle=99.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Dragostea Din Tei (Numa Numa) but it's the OldSchool RuneScape soundfont", "fca2cd5f-bbf7-4ff2-9d9b-2baa461b15c1", "2mLtCHC1zhU", false, "https://www.youtube.com/watch?v=2mLtCHC1zhU", 1, [], 211, false, 122, "/downloads/UnpragmaticCovers/2025-07-08 Dragostea Din Tei (Numa Numa) but it's the OldSchool RuneScape soundfont/Dragostea Din Tei (Numa Numa) but it's the OldSchool RuneScape soundfont [2mLtCHC1zhU].mp4", false, false, 99, ~U[2025-07-08 14:00:05Z], ~U[2026-06-27 16:49:50Z], ~U[2026-06-27 16:49:50Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Dragostea Din Tei (Numa Numa) but it's the OldSchool RuneScape soundfont", "2mLtCHC1zhU", "https://www.youtube.com/watch?v=2mLtCHC1zhU", 1, 211, false, "/downloads/UnpragmaticCovers/2025-07-08 Dragostea Din Tei (Numa Numa) but it's the OldSchool RuneScape soundfont/Dragostea Din Tei (Numa Numa) but it's the OldSchool RuneScape soundfont [2mLtCHC1zhU].mp4", false, ~U[2025-07-08 14:00:05Z]] 18:49:50.164 [debug] QUERY OK source="sources" db=0.6ms idle=100.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:49:50.164 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:49:50.165 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [122] 18:49:50.165 [info] Kicking off download for media item #122 (2mLtCHC1zhU) 18:49:50.169 [debug] QUERY OK source="tasks" db=0.2ms idle=4.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [125, 122, ~U[2026-06-27 16:49:50Z], ~U[2026-06-27 16:49:50Z]] 18:49:50.169 [debug] Current batch of media processed. Will check again in 1000ms 18:49:51.169 [debug] Current batch of media processed. Will check again in 1000ms 18:49:52.170 [debug] Current batch of media processed. Will check again in 1000ms 18:49:53.171 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "RIP Brian Wilson\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 150, "filename" => "/downloads/UnpragmaticCovers/2025-07-04 Wouldn't It Be Nice - The Beach Boys but it's the OldSchool RuneScape soundfont/Wouldn't It Be Nice - The Beach Boys but it's the OldSchool RuneScape soundfont [2V3n3ELQN9U].mp4", "id" => "2V3n3ELQN9U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2V3n3ELQN9U", "playlist_index" => 123, "timestamp" => 1751637605, "title" => "Wouldn't It Be Nice - The Beach Boys but it's the OldSchool RuneScape soundfont", "upload_date" => "20250704"} 18:49:53.173 [debug] QUERY OK source="sources" db=0.8ms idle=1107.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:49:53.174 [debug] QUERY OK source="sources" db=0.4ms idle=1108.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:49:53.175 [debug] QUERY OK source="media_items" db=0.2ms queue=0.2ms idle=1109.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-04 14:00:05Z], 1] 18:49:53.176 [debug] QUERY OK source="media_items" db=0.6ms idle=1110.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["RIP Brian Wilson\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Wouldn't It Be Nice - The Beach Boys but it's the OldSchool RuneScape soundfont", "0779058e-f7ac-42af-a468-dcec1411ab24", "2V3n3ELQN9U", false, "https://www.youtube.com/watch?v=2V3n3ELQN9U", 1, [], 150, false, 123, "/downloads/UnpragmaticCovers/2025-07-04 Wouldn't It Be Nice - The Beach Boys but it's the OldSchool RuneScape soundfont/Wouldn't It Be Nice - The Beach Boys but it's the OldSchool RuneScape soundfont [2V3n3ELQN9U].mp4", false, false, 99, ~U[2025-07-04 14:00:05Z], ~U[2026-06-27 16:49:53Z], ~U[2026-06-27 16:49:53Z], "RIP Brian Wilson\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Wouldn't It Be Nice - The Beach Boys but it's the OldSchool RuneScape soundfont", "2V3n3ELQN9U", "https://www.youtube.com/watch?v=2V3n3ELQN9U", 1, 150, false, "/downloads/UnpragmaticCovers/2025-07-04 Wouldn't It Be Nice - The Beach Boys but it's the OldSchool RuneScape soundfont/Wouldn't It Be Nice - The Beach Boys but it's the OldSchool RuneScape soundfont [2V3n3ELQN9U].mp4", false, ~U[2025-07-04 14:00:05Z]] 18:49:53.177 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=374.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:53.179 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.2ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:49:53.182 [debug] QUERY OK source="media_items" db=2.1ms idle=5.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [123] 18:49:53.182 [info] Kicking off download for media item #123 (2V3n3ELQN9U) 18:49:53.190 [debug] QUERY OK source="tasks" db=0.7ms idle=12.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [126, 123, ~U[2026-06-27 16:49:53Z], ~U[2026-06-27 16:49:53Z]] 18:49:53.191 [debug] Current batch of media processed. Will check again in 1000ms 18:49:53.417 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IgVSJWuWFiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7d/44/7d441b1a69e01fa4b06edd7408d87ac019228a309f16590a4df667ad2aa1feea.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:49:53.417 [debug] Running yt-dlp command for action: download 18:49:53.418 [debug] QUERY OK source="settings" db=0.1ms idle=238.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:53.418 [debug] QUERY OK source="settings" db=0.2ms idle=236.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:53.418 [debug] QUERY OK source="settings" db=0.2ms idle=229.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:53.419 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IgVSJWuWFiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/db/b5/dbb55cc6b8d7a132603d059aa2d2c824148cfc326e554d4bdb8a935ef2329ebb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:49:54.191 [debug] Current batch of media processed. Will check again in 1000ms 18:49:55.193 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Happy Canada Day!\nRIP Gord Downie \n🇨🇦🇨🇦🇨🇦\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 217, "filename" => "/downloads/UnpragmaticCovers/2025-07-01 Ahead by a Century - The Tragically Hip but it's the OldSchool RuneScape soundfont/Ahead by a Century - The Tragically Hip but it's the OldSchool RuneScape soundfont [vYW5KWKbVMs].mp4", "id" => "vYW5KWKbVMs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vYW5KWKbVMs", "playlist_index" => 124, "timestamp" => 1751378506, "title" => "Ahead by a Century - The Tragically Hip but it's the OldSchool RuneScape soundfont", "upload_date" => "20250701"} 18:49:55.195 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=385.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:49:55.196 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=131.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:49:55.198 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=132.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-01 14:01:46Z], 1] 18:49:55.201 [debug] QUERY OK source="media_items" db=2.0ms idle=133.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Happy Canada Day!\nRIP Gord Downie \n🇨🇦🇨🇦🇨🇦\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Ahead by a Century - The Tragically Hip but it's the OldSchool RuneScape soundfont", "c1fdbd09-8c3a-4a70-a961-de8d29221772", "vYW5KWKbVMs", false, "https://www.youtube.com/watch?v=vYW5KWKbVMs", 1, [], 217, false, 124, "/downloads/UnpragmaticCovers/2025-07-01 Ahead by a Century - The Tragically Hip but it's the OldSchool RuneScape soundfont/Ahead by a Century - The Tragically Hip but it's the OldSchool RuneScape soundfont [vYW5KWKbVMs].mp4", false, false, 99, ~U[2025-07-01 14:01:46Z], ~U[2026-06-27 16:49:55Z], ~U[2026-06-27 16:49:55Z], "Happy Canada Day!\nRIP Gord Downie \n🇨🇦🇨🇦🇨🇦\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Ahead by a Century - The Tragically Hip but it's the OldSchool RuneScape soundfont", "vYW5KWKbVMs", "https://www.youtube.com/watch?v=vYW5KWKbVMs", 1, 217, false, "/downloads/UnpragmaticCovers/2025-07-01 Ahead by a Century - The Tragically Hip but it's the OldSchool RuneScape soundfont/Ahead by a Century - The Tragically Hip but it's the OldSchool RuneScape soundfont [vYW5KWKbVMs].mp4", false, ~U[2025-07-01 14:01:46Z]] 18:49:55.204 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=139.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:49:55.205 [debug] QUERY OK source="media_profiles" db=0.3ms idle=10.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:55.206 [debug] QUERY OK source="media_items" db=0.5ms idle=9.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [124] 18:49:55.206 [info] Kicking off download for media item #124 (vYW5KWKbVMs) 18:49:55.210 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=5.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [127, 124, ~U[2026-06-27 16:49:55Z], ~U[2026-06-27 16:49:55Z]] 18:49:55.211 [debug] Current batch of media processed. Will check again in 1000ms 18:49:55.880 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8F_xwRVay2k --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f7/d5/f7d5a35b4c8f70a31b8bf82d63477eb89521e54424030688c56af2aae5c6057c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:49:55.901 [debug] Running yt-dlp command for action: download_thumbnail 18:49:55.903 [debug] QUERY OK source="settings" db=0.1ms idle=696.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:55.903 [debug] QUERY OK source="settings" db=0.2ms idle=694.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:55.904 [debug] QUERY OK source="settings" db=0.1ms idle=693.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:55.904 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8F_xwRVay2k --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/a5/5e/a55e242d5146bd75d8c4b9228d5a4fa272c07f85f072b9c5a794525973996c9e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:49:56.211 [debug] Current batch of media processed. Will check again in 1000ms 18:49:57.212 [debug] Current batch of media processed. Will check again in 1000ms 18:49:58.213 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Crystals, portals, lightning! Very very frightening!\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 352, "filename" => "/downloads/UnpragmaticCovers/2025-06-27 Bohemian Rhapsody but it's the OldSchool RuneScape soundfont/Bohemian Rhapsody but it's the OldSchool RuneScape soundfont [jy7rHXY4QlI].mp4", "id" => "jy7rHXY4QlI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jy7rHXY4QlI", "playlist_index" => 125, "timestamp" => 1751032876, "title" => "Bohemian Rhapsody but it's the OldSchool RuneScape soundfont", "upload_date" => "20250627"} 18:49:58.214 [debug] QUERY OK source="sources" db=0.2ms idle=1149.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:49:58.215 [debug] QUERY OK source="sources" db=0.3ms idle=1150.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:49:58.216 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=1150.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-27 14:01:16Z], 1] 18:49:58.218 [debug] QUERY OK source="media_items" db=1.2ms idle=1152.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Crystals, portals, lightning! Very very frightening!\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Bohemian Rhapsody but it's the OldSchool RuneScape soundfont", "b52f4128-0e42-463d-bb80-1399da1aedf0", "jy7rHXY4QlI", false, "https://www.youtube.com/watch?v=jy7rHXY4QlI", 1, [], 352, false, 125, "/downloads/UnpragmaticCovers/2025-06-27 Bohemian Rhapsody but it's the OldSchool RuneScape soundfont/Bohemian Rhapsody but it's the OldSchool RuneScape soundfont [jy7rHXY4QlI].mp4", false, false, 99, ~U[2025-06-27 14:01:16Z], ~U[2026-06-27 16:49:58Z], ~U[2026-06-27 16:49:58Z], "Crystals, portals, lightning! Very very frightening!\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Bohemian Rhapsody but it's the OldSchool RuneScape soundfont", "jy7rHXY4QlI", "https://www.youtube.com/watch?v=jy7rHXY4QlI", 1, 352, false, "/downloads/UnpragmaticCovers/2025-06-27 Bohemian Rhapsody but it's the OldSchool RuneScape soundfont/Bohemian Rhapsody but it's the OldSchool RuneScape soundfont [jy7rHXY4QlI].mp4", false, ~U[2025-06-27 14:01:16Z]] 18:49:58.219 [debug] QUERY OK source="sources" db=0.3ms idle=403.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:58.220 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:49:58.221 [debug] QUERY OK source="media_items" db=0.4ms idle=5.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [125] 18:49:58.221 [info] Kicking off download for media item #125 (jy7rHXY4QlI) 18:49:58.224 [debug] QUERY OK source="tasks" db=0.2ms idle=4.3ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [128, 125, ~U[2026-06-27 16:49:58Z], ~U[2026-06-27 16:49:58Z]] 18:49:58.224 [debug] Current batch of media processed. Will check again in 1000ms 18:49:59.224 [debug] Current batch of media processed. Will check again in 1000ms 18:50:00.226 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Dragon bones, Dragon bones\nBury Dragon bones\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 192, "filename" => "/downloads/UnpragmaticCovers/2025-06-24 Doctor Jones - Aqua but it's the OldSchool RuneScape soundfont/Doctor Jones - Aqua but it's the OldSchool RuneScape soundfont [OwWvuFOg4Dk].mp4", "id" => "OwWvuFOg4Dk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OwWvuFOg4Dk", "playlist_index" => 126, "timestamp" => 1750773638, "title" => "Doctor Jones - Aqua but it's the OldSchool RuneScape soundfont", "upload_date" => "20250624"} 18:50:00.227 [debug] QUERY OK source="sources" db=0.5ms idle=405.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:50:00.229 [debug] QUERY OK source="sources" db=0.4ms idle=164.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:50:00.230 [debug] QUERY OK source="media_items" db=0.3ms idle=165.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-24 14:00:38Z], 1] 18:50:00.231 [debug] QUERY OK source="media_items" db=0.7ms idle=166.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Dragon bones, Dragon bones\nBury Dragon bones\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Doctor Jones - Aqua but it's the OldSchool RuneScape soundfont", "0b8ee741-043d-427f-b7d4-dca082113d95", "OwWvuFOg4Dk", false, "https://www.youtube.com/watch?v=OwWvuFOg4Dk", 1, [], 192, false, 126, "/downloads/UnpragmaticCovers/2025-06-24 Doctor Jones - Aqua but it's the OldSchool RuneScape soundfont/Doctor Jones - Aqua but it's the OldSchool RuneScape soundfont [OwWvuFOg4Dk].mp4", false, false, 99, ~U[2025-06-24 14:00:38Z], ~U[2026-06-27 16:50:00Z], ~U[2026-06-27 16:50:00Z], "Dragon bones, Dragon bones\nBury Dragon bones\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Doctor Jones - Aqua but it's the OldSchool RuneScape soundfont", "OwWvuFOg4Dk", "https://www.youtube.com/watch?v=OwWvuFOg4Dk", 1, 192, false, "/downloads/UnpragmaticCovers/2025-06-24 Doctor Jones - Aqua but it's the OldSchool RuneScape soundfont/Doctor Jones - Aqua but it's the OldSchool RuneScape soundfont [OwWvuFOg4Dk].mp4", false, ~U[2025-06-24 14:00:38Z]] 18:50:00.232 [debug] QUERY OK source="sources" db=0.4ms idle=167.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:50:00.232 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:50:00.233 [debug] QUERY OK source="media_items" db=0.5ms 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 [126] 18:50:00.233 [info] Kicking off download for media item #126 (OwWvuFOg4Dk) 18:50:00.236 [debug] QUERY OK source="tasks" db=0.2ms idle=3.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [129, 126, ~U[2026-06-27 16:50:00Z], ~U[2026-06-27 16:50:00Z]] 18:50:00.236 [debug] Current batch of media processed. Will check again in 1000ms 18:50:00.589 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8F_xwRVay2k --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/a5/5e/a55e242d5146bd75d8c4b9228d5a4fa272c07f85f072b9c5a794525973996c9e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:50:00.590 [debug] QUERY OK db=0.3ms idle=357.4ms begin [] 18:50:00.591 [debug] QUERY OK source="media_items" db=0.5ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "predicted_media_filepath" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/youtube/UnpragmaticCovers/2026-03-31 It's Okay to Cry - Sophie but it's the OldSchool RuneScape soundfont/It's Okay to Cry - Sophie but it's the OldSchool RuneScape soundfont [8F_xwRVay2k].mp4", "/downloads/youtube/UnpragmaticCovers/2026-03-31 It's Okay to Cry - Sophie but it's the OldSchool RuneScape soundfont/It's Okay to Cry - Sophie but it's the OldSchool RuneScape soundfont [8F_xwRVay2k]-thumb.jpg", ~U[2026-06-27 16:49:55Z], "/downloads/youtube/UnpragmaticCovers/2026-03-31 It's Okay to Cry - Sophie but it's the OldSchool RuneScape soundfont/It's Okay to Cry - Sophie but it's the OldSchool RuneScape soundfont [8F_xwRVay2k].mp4", ~U[2026-06-27 16:50:00Z], 27] 18:50:00.591 [debug] QUERY OK source="media_metadata" db=0.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/27/metadata.json.gz", "/config/metadata/media_items/27/thumbnail.jpg", 27, ~U[2026-06-27 16:50:00Z], ~U[2026-06-27 16:50:00Z]] 18:50:00.592 [debug] QUERY OK db=0.2ms commit [] 18:50:00.593 [debug] QUERY OK source="media_items" db=0.5ms idle=358.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [5786849, ~U[2026-06-27 16:50:00Z], 27] 18:50:00.593 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:50:00.593 [info] {"args":{"id":27},"id":30,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":20924875,"event":"job:stop","queue_time":307666651,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:50:00.600 [info] {"args":{"id":29},"id":32,"meta":{},"system_time":1782579000600670363,"max_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:50:00.601 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=364.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" = ?) [29] 18:50:00.602 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:50:00.603 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=10.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:50:00.604 [debug] QUERY OK source="media_profiles" db=0.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] 18:50:00.606 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=11.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [29] 18:50:00.609 [debug] QUERY OK source="media_metadata" db=0.4ms idle=8.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [29] 18:50:00.610 [debug] QUERY OK source="media_profiles" db=0.7ms idle=7.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:50:00.612 [debug] QUERY OK source="settings" db=0.7ms 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 [] 18:50:00.613 [debug] QUERY OK source="settings" db=0.6ms idle=7.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:50:00.614 [debug] Running yt-dlp command for action: get_downloadable_status 18:50:00.615 [debug] QUERY OK source="settings" db=0.4ms 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 [] 18:50:00.616 [debug] QUERY OK source="settings" db=0.6ms 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 [] 18:50:00.617 [debug] QUERY OK source="settings" db=0.7ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:50:00.618 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xEUQRPkPLJQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fc/81/fc8122b3326bd79085f5866418720ca59a1835ff532c0e37c7f5b7b16f700bd7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:50:00.656 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:50:01.237 [debug] Current batch of media processed. Will check again in 1000ms 18:50:02.238 [debug] Current batch of media processed. Will check again in 1000ms 18:50:03.240 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 359, "filename" => "/downloads/UnpragmaticCovers/2025-06-20 Shout - Tears For Fears but it's the OldSchool RuneScape soundfont/Shout - Tears For Fears but it's the OldSchool RuneScape soundfont [3ILvld_J58w].mp4", "id" => "3ILvld_J58w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3ILvld_J58w", "playlist_index" => 127, "timestamp" => 1750428016, "title" => "Shout - Tears For Fears but it's the OldSchool RuneScape soundfont", "upload_date" => "20250620"} 18:50:03.241 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1173.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:50:03.242 [debug] QUERY OK source="sources" db=0.4ms idle=1174.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:50:03.243 [debug] QUERY OK source="media_items" db=0.5ms queue=0.5ms idle=1175.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-20 14:00:16Z], 1] 18:50:03.245 [debug] QUERY OK source="media_items" db=0.9ms idle=1177.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Shout - Tears For Fears but it's the OldSchool RuneScape soundfont", "f59905e6-4b63-4c4e-b2ed-d6d547704154", "3ILvld_J58w", false, "https://www.youtube.com/watch?v=3ILvld_J58w", 1, [], 359, false, 127, "/downloads/UnpragmaticCovers/2025-06-20 Shout - Tears For Fears but it's the OldSchool RuneScape soundfont/Shout - Tears For Fears but it's the OldSchool RuneScape soundfont [3ILvld_J58w].mp4", false, false, 99, ~U[2025-06-20 14:00:16Z], ~U[2026-06-27 16:50:03Z], ~U[2026-06-27 16:50:03Z], "Artwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Shout - Tears For Fears but it's the OldSchool RuneScape soundfont", "3ILvld_J58w", "https://www.youtube.com/watch?v=3ILvld_J58w", 1, 359, false, "/downloads/UnpragmaticCovers/2025-06-20 Shout - Tears For Fears but it's the OldSchool RuneScape soundfont/Shout - Tears For Fears but it's the OldSchool RuneScape soundfont [3ILvld_J58w].mp4", false, ~U[2025-06-20 14:00:16Z]] 18:50:03.245 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=410.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:50:03.246 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:50:03.247 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [127] 18:50:03.248 [info] Kicking off download for media item #127 (3ILvld_J58w) 18:50:03.251 [debug] QUERY OK source="tasks" db=0.2ms queue=0.1ms idle=5.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [130, 127, ~U[2026-06-27 16:50:03Z], ~U[2026-06-27 16:50:03Z]] 18:50:03.251 [debug] Current batch of media processed. Will check again in 1000ms 18:50:04.254 [debug] Current batch of media processed. Will check again in 1000ms 18:50:04.394 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IgVSJWuWFiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/db/b5/dbb55cc6b8d7a132603d059aa2d2c824148cfc326e554d4bdb8a935ef2329ebb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:50:04.417 [debug] Running yt-dlp command for action: download_thumbnail 18:50:04.420 [debug] QUERY OK source="settings" db=0.3ms idle=1171.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.421 [debug] QUERY OK source="settings" db=0.3ms idle=1170.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.421 [debug] QUERY OK source="settings" db=0.4ms idle=1170.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.422 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IgVSJWuWFiw --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/c7/53/c75375e9afa86fa567025752a4a774878c86d6ae64e351f7be2e4bba7c52cc88.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:50:05.255 [debug] Current batch of media processed. Will check again in 1000ms 18:50:06.257 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "You are the Kalphite Queen\nFrom Al Kharid\nLevel 333\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 220, "filename" => "/downloads/UnpragmaticCovers/2025-06-17 Dancing Queen - ABBA but it's the OldSchool RuneScape soundfont/Dancing Queen - ABBA but it's the OldSchool RuneScape soundfont [QFBrZIQ9tWQ].mp4", "id" => "QFBrZIQ9tWQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QFBrZIQ9tWQ", "playlist_index" => 128, "timestamp" => 1750168844, "title" => "Dancing Queen - ABBA but it's the OldSchool RuneScape soundfont", "upload_date" => "20250617"} 18:50:06.258 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1191.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:50:06.259 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=409.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:50:06.261 [debug] QUERY OK source="media_items" db=0.5ms idle=193.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-17 14:00:44Z], 1] 18:50:06.262 [debug] QUERY OK source="media_items" db=1.0ms idle=194.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["You are the Kalphite Queen\nFrom Al Kharid\nLevel 333\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Dancing Queen - ABBA but it's the OldSchool RuneScape soundfont", "efd0d4db-088b-4822-9e42-8e1a8db3801b", "QFBrZIQ9tWQ", false, "https://www.youtube.com/watch?v=QFBrZIQ9tWQ", 1, [], 220, false, 128, "/downloads/UnpragmaticCovers/2025-06-17 Dancing Queen - ABBA but it's the OldSchool RuneScape soundfont/Dancing Queen - ABBA but it's the OldSchool RuneScape soundfont [QFBrZIQ9tWQ].mp4", false, false, 99, ~U[2025-06-17 14:00:44Z], ~U[2026-06-27 16:50:06Z], ~U[2026-06-27 16:50:06Z], "You are the Kalphite Queen\nFrom Al Kharid\nLevel 333\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Dancing Queen - ABBA but it's the OldSchool RuneScape soundfont", "QFBrZIQ9tWQ", "https://www.youtube.com/watch?v=QFBrZIQ9tWQ", 1, 220, false, "/downloads/UnpragmaticCovers/2025-06-17 Dancing Queen - ABBA but it's the OldSchool RuneScape soundfont/Dancing Queen - ABBA but it's the OldSchool RuneScape soundfont [QFBrZIQ9tWQ].mp4", false, ~U[2025-06-17 14:00:44Z]] 18:50:06.263 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=196.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:50:06.264 [debug] QUERY OK source="media_profiles" db=0.4ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:50:06.265 [debug] QUERY OK source="media_items" db=0.6ms idle=5.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [128] 18:50:06.265 [info] Kicking off download for media item #128 (QFBrZIQ9tWQ) 18:50:06.269 [debug] QUERY OK source="tasks" db=0.3ms idle=5.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [131, 128, ~U[2026-06-27 16:50:06Z], ~U[2026-06-27 16:50:06Z]] 18:50:06.269 [debug] Current batch of media processed. Will check again in 1000ms 18:50:07.269 [debug] Current batch of media processed. Will check again in 1000ms 18:50:08.272 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Tainted Glough\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 169, "filename" => "/downloads/UnpragmaticCovers/2025-06-13 Tainted Love - Soft Cell but it's the OldSchool RuneScape soundfont/Tainted Love - Soft Cell but it's the OldSchool RuneScape soundfont [IgK0gomwOxQ].mp4", "id" => "IgK0gomwOxQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=IgK0gomwOxQ", "playlist_index" => 129, "timestamp" => 1749823224, "title" => "Tainted Love - Soft Cell but it's the OldSchool RuneScape soundfont", "upload_date" => "20250613"} 18:50:08.273 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=419.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:50:08.275 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=207.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:50:08.277 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=209.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-13 14:00:24Z], 1] 18:50:08.280 [debug] QUERY OK source="media_items" db=1.4ms idle=211.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Tainted Glough\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Tainted Love - Soft Cell but it's the OldSchool RuneScape soundfont", "440ed594-57b9-4aac-bfd1-9e9dffa2500e", "IgK0gomwOxQ", false, "https://www.youtube.com/watch?v=IgK0gomwOxQ", 1, [], 169, false, 129, "/downloads/UnpragmaticCovers/2025-06-13 Tainted Love - Soft Cell but it's the OldSchool RuneScape soundfont/Tainted Love - Soft Cell but it's the OldSchool RuneScape soundfont [IgK0gomwOxQ].mp4", false, false, 99, ~U[2025-06-13 14:00:24Z], ~U[2026-06-27 16:50:08Z], ~U[2026-06-27 16:50:08Z], "Tainted Glough\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Tainted Love - Soft Cell but it's the OldSchool RuneScape soundfont", "IgK0gomwOxQ", "https://www.youtube.com/watch?v=IgK0gomwOxQ", 1, 169, false, "/downloads/UnpragmaticCovers/2025-06-13 Tainted Love - Soft Cell but it's the OldSchool RuneScape soundfont/Tainted Love - Soft Cell but it's the OldSchool RuneScape soundfont [IgK0gomwOxQ].mp4", false, ~U[2025-06-13 14:00:24Z]] 18:50:08.281 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=213.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:50:08.283 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=8.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:50:08.285 [debug] QUERY OK source="media_items" db=0.6ms queue=0.2ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [129] 18:50:08.285 [info] Kicking off download for media item #129 (IgK0gomwOxQ) 18:50:08.291 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=8.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [132, 129, ~U[2026-06-27 16:50:08Z], ~U[2026-06-27 16:50:08Z]] 18:50:08.292 [debug] Current batch of media processed. Will check again in 1000ms 18:50:08.792 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=IgVSJWuWFiw --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/c7/53/c75375e9afa86fa567025752a4a774878c86d6ae64e351f7be2e4bba7c52cc88.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:50:08.793 [debug] QUERY OK db=0.1ms idle=509.4ms begin [] 18:50:08.793 [debug] QUERY OK source="media_items" db=0.3ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "predicted_media_filepath" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/youtube/UnpragmaticCovers/2026-03-27 Unholy Confessions - Avenged Sevenfold but it's the OldSchool RuneScape soundfont/Unholy Confessions - Avenged Sevenfold but it's the OldSchool RuneScape soundfont [IgVSJWuWFiw].mp4", "/downloads/youtube/UnpragmaticCovers/2026-03-27 Unholy Confessions - Avenged Sevenfold but it's the OldSchool RuneScape soundfont/Unholy Confessions - Avenged Sevenfold but it's the OldSchool RuneScape soundfont [IgVSJWuWFiw]-thumb.jpg", ~U[2026-06-27 16:50:04Z], "/downloads/youtube/UnpragmaticCovers/2026-03-27 Unholy Confessions - Avenged Sevenfold but it's the OldSchool RuneScape soundfont/Unholy Confessions - Avenged Sevenfold but it's the OldSchool RuneScape soundfont [IgVSJWuWFiw].mp4", ~U[2026-06-27 16:50:08Z], 28] 18:50:08.795 [debug] QUERY OK source="media_metadata" db=1.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/28/metadata.json.gz", "/config/metadata/media_items/28/thumbnail.jpg", 28, ~U[2026-06-27 16:50:08Z], ~U[2026-06-27 16:50:08Z]] 18:50:08.795 [debug] QUERY OK db=0.1ms commit [] 18:50:08.796 [debug] QUERY OK source="media_items" db=0.4ms idle=510.9ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [7899599, ~U[2026-06-27 16:50:08Z], 28] 18:50:08.796 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:50:08.797 [info] {"args":{"id":28},"id":31,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":19954166,"event":"job:stop","queue_time":313841683,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:50:08.804 [info] {"args":{"id":30},"id":33,"meta":{},"system_time":1782579008804352241,"max_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:50:08.804 [debug] QUERY OK source="media_items" db=0.1ms idle=512.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" = ?) [30] 18:50:08.805 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:50:08.805 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=9.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:50:08.806 [debug] QUERY OK source="media_profiles" db=0.3ms idle=9.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:50:08.807 [debug] QUERY OK source="media_items" db=0.4ms idle=9.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [30] 18:50:08.808 [debug] QUERY OK source="media_metadata" db=0.2ms idle=4.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [30] 18:50:08.809 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:50:08.809 [debug] QUERY OK source="settings" db=0.1ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:50:08.810 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:50:08.811 [debug] Running yt-dlp command for action: get_downloadable_status 18:50:08.812 [debug] QUERY OK source="settings" db=0.1ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:50:08.812 [debug] QUERY OK source="settings" db=0.1ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:50:08.813 [debug] QUERY OK source="settings" db=0.1ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:50:08.813 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jum5XWyqKzc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d0/e8/d0e8aeb75db1af340242a123dddd8e30de0690e30faecc3d5b0605ba47f8a494.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:50:09.292 [debug] Current batch of media processed. Will check again in 1000ms 18:50:10.293 [debug] Current batch of media processed. Will check again in 1000ms 18:50:11.296 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Tele to Edge\nWith Glory\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 299, "filename" => "/downloads/UnpragmaticCovers/2025-06-10 Edge of Glory - Lady Gaga but it's the OldSchool RuneScape soundfont/Edge of Glory - Lady Gaga but it's the OldSchool RuneScape soundfont [J4kRDYb6Ngo].mp4", "id" => "J4kRDYb6Ngo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=J4kRDYb6Ngo", "playlist_index" => 130, "timestamp" => 1749564034, "title" => "Edge of Glory - Lady Gaga but it's the OldSchool RuneScape soundfont", "upload_date" => "20250610"} 18:50:11.297 [debug] QUERY OK source="sources" db=0.4ms idle=1229.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:50:11.297 [debug] QUERY OK source="sources" db=0.4ms idle=1230.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:50:11.298 [debug] QUERY OK source="media_items" db=0.3ms idle=1231.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-10 14:00:34Z], 1] 18:50:11.299 [debug] QUERY OK source="media_items" db=0.7ms idle=1231.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Tele to Edge\nWith Glory\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Edge of Glory - Lady Gaga but it's the OldSchool RuneScape soundfont", "c7c44222-0ca6-4b20-8379-552bb5f6c80e", "J4kRDYb6Ngo", false, "https://www.youtube.com/watch?v=J4kRDYb6Ngo", 1, [], 299, false, 130, "/downloads/UnpragmaticCovers/2025-06-10 Edge of Glory - Lady Gaga but it's the OldSchool RuneScape soundfont/Edge of Glory - Lady Gaga but it's the OldSchool RuneScape soundfont [J4kRDYb6Ngo].mp4", false, false, 99, ~U[2025-06-10 14:00:34Z], ~U[2026-06-27 16:50:11Z], ~U[2026-06-27 16:50:11Z], "Tele to Edge\nWith Glory\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Edge of Glory - Lady Gaga but it's the OldSchool RuneScape soundfont", "J4kRDYb6Ngo", "https://www.youtube.com/watch?v=J4kRDYb6Ngo", 1, 299, false, "/downloads/UnpragmaticCovers/2025-06-10 Edge of Glory - Lady Gaga but it's the OldSchool RuneScape soundfont/Edge of Glory - Lady Gaga but it's the OldSchool RuneScape soundfont [J4kRDYb6Ngo].mp4", false, ~U[2025-06-10 14:00:34Z]] 18:50:11.300 [debug] QUERY OK source="sources" db=0.2ms idle=443.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:50:11.300 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:50:11.301 [debug] QUERY OK source="media_items" db=0.2ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [130] 18:50:11.301 [info] Kicking off download for media item #130 (J4kRDYb6Ngo) 18:50:11.302 [debug] QUERY OK source="tasks" db=0.1ms idle=2.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [133, 130, ~U[2026-06-27 16:50:11Z], ~U[2026-06-27 16:50:11Z]] 18:50:11.303 [debug] Current batch of media processed. Will check again in 1000ms 18:50:12.304 [debug] Current batch of media processed. Will check again in 1000ms 18:50:12.628 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jum5XWyqKzc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d0/e8/d0e8aeb75db1af340242a123dddd8e30de0690e30faecc3d5b0605ba47f8a494.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:50:12.629 [debug] Running yt-dlp command for action: download 18:50:12.629 [debug] QUERY OK source="settings" db=0.5ms 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 [] 18:50:12.630 [debug] QUERY OK source="settings" db=0.3ms idle=1327.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.630 [debug] QUERY OK source="settings" db=0.3ms 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:50:12.631 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jum5XWyqKzc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8b/5c/8b5c275ab168a060e7a5b4f6db6e50712d302c92ee6dbf97970b4c3940ce42e0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:50:13.304 [debug] Current batch of media processed. Will check again in 1000ms 18:50:14.306 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "19 years.\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 276, "filename" => "/downloads/UnpragmaticCovers/2025-06-06 Planet Hell - Nightwish but it's the OldSchool RuneScape soundfont/Planet Hell - Nightwish but it's the OldSchool RuneScape soundfont [DE6ppXkDXuw].mp4", "id" => "DE6ppXkDXuw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DE6ppXkDXuw", "playlist_index" => 131, "timestamp" => 1749218431, "title" => "Planet Hell - Nightwish but it's the OldSchool RuneScape soundfont", "upload_date" => "20250606"} 18:50:14.307 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1240.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:50:14.308 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=444.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:50:14.309 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=241.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-06 14:00:31Z], 1] 18:50:14.311 [debug] QUERY OK source="media_items" db=1.0ms idle=242.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["19 years.\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Planet Hell - Nightwish but it's the OldSchool RuneScape soundfont", "7e4b5c37-b45a-4ed4-9fa6-bd35f47780ef", "DE6ppXkDXuw", false, "https://www.youtube.com/watch?v=DE6ppXkDXuw", 1, [], 276, false, 131, "/downloads/UnpragmaticCovers/2025-06-06 Planet Hell - Nightwish but it's the OldSchool RuneScape soundfont/Planet Hell - Nightwish but it's the OldSchool RuneScape soundfont [DE6ppXkDXuw].mp4", false, false, 99, ~U[2025-06-06 14:00:31Z], ~U[2026-06-27 16:50:14Z], ~U[2026-06-27 16:50:14Z], "19 years.\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Planet Hell - Nightwish but it's the OldSchool RuneScape soundfont", "DE6ppXkDXuw", "https://www.youtube.com/watch?v=DE6ppXkDXuw", 1, 276, false, "/downloads/UnpragmaticCovers/2025-06-06 Planet Hell - Nightwish but it's the OldSchool RuneScape soundfont/Planet Hell - Nightwish but it's the OldSchool RuneScape soundfont [DE6ppXkDXuw].mp4", false, ~U[2025-06-06 14:00:31Z]] 18:50:14.312 [debug] QUERY OK source="sources" db=0.2ms idle=244.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:50:14.312 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=4.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:50:14.313 [debug] QUERY OK source="media_items" db=0.3ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [131] 18:50:14.313 [info] Kicking off download for media item #131 (DE6ppXkDXuw) 18:50:14.317 [debug] QUERY OK source="tasks" db=0.2ms idle=5.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [134, 131, ~U[2026-06-27 16:50:14Z], ~U[2026-06-27 16:50:14Z]] 18:50:14.317 [debug] Current batch of media processed. Will check again in 1000ms 18:50:15.318 [debug] Current batch of media processed. Will check again in 1000ms 18:50:16.320 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I watched my wildest dreams come true\nNot one of them involving loot\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 210, "filename" => "/downloads/UnpragmaticCovers/2025-06-03 Misery Business - Paramore but it's the OldSchool RuneScape soundfont/Misery Business - Paramore but it's the OldSchool RuneScape soundfont [MIEf5V94yyE].mp4", "id" => "MIEf5V94yyE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MIEf5V94yyE", "playlist_index" => 132, "timestamp" => 1748959230, "title" => "Misery Business - Paramore but it's the OldSchool RuneScape soundfont", "upload_date" => "20250603"} 18:50:16.321 [debug] QUERY OK source="sources" db=0.7ms 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."id" IN (?)) [1] 18:50:16.322 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=255.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:50:16.324 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=256.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-03 14:00:30Z], 1] 18:50:16.325 [debug] QUERY OK source="media_items" db=1.1ms idle=257.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I watched my wildest dreams come true\nNot one of them involving loot\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Misery Business - Paramore but it's the OldSchool RuneScape soundfont", "ac642dad-36ef-47bc-a3e3-55ebe3d0fbf5", "MIEf5V94yyE", false, "https://www.youtube.com/watch?v=MIEf5V94yyE", 1, [], 210, false, 132, "/downloads/UnpragmaticCovers/2025-06-03 Misery Business - Paramore but it's the OldSchool RuneScape soundfont/Misery Business - Paramore but it's the OldSchool RuneScape soundfont [MIEf5V94yyE].mp4", false, false, 99, ~U[2025-06-03 14:00:30Z], ~U[2026-06-27 16:50:16Z], ~U[2026-06-27 16:50:16Z], "I watched my wildest dreams come true\nNot one of them involving loot\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Misery Business - Paramore but it's the OldSchool RuneScape soundfont", "MIEf5V94yyE", "https://www.youtube.com/watch?v=MIEf5V94yyE", 1, 210, false, "/downloads/UnpragmaticCovers/2025-06-03 Misery Business - Paramore but it's the OldSchool RuneScape soundfont/Misery Business - Paramore but it's the OldSchool RuneScape soundfont [MIEf5V94yyE].mp4", false, ~U[2025-06-03 14:00:30Z]] 18:50:16.326 [debug] QUERY OK source="sources" db=0.3ms idle=259.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:50:16.327 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:50:16.328 [debug] QUERY OK source="media_items" db=0.4ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [132] 18:50:16.328 [info] Kicking off download for media item #132 (MIEf5V94yyE) 18:50:16.331 [debug] QUERY OK source="tasks" db=0.2ms queue=0.1ms idle=4.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [135, 132, ~U[2026-06-27 16:50:16Z], ~U[2026-06-27 16:50:16Z]] 18:50:16.332 [debug] Current batch of media processed. Will check again in 1000ms 18:50:17.332 [debug] Current batch of media processed. Will check again in 1000ms 18:50:17.646 [info] {"source":"oban","duration":2888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:18.333 [debug] Current batch of media processed. Will check again in 1000ms 18:50:19.055 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xEUQRPkPLJQ --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fc/81/fc8122b3326bd79085f5866418720ca59a1835ff532c0e37c7f5b7b16f700bd7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:50:19.055 [debug] Running yt-dlp command for action: download 18:50:19.056 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1175.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.056 [debug] QUERY OK source="settings" db=0.4ms idle=989.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.057 [debug] QUERY OK source="settings" db=0.2ms idle=990.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.057 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xEUQRPkPLJQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/14/9f/149f22950628d76f745df443f4e663419f7370e24247c8cf4960ae4f2d679d99.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:50:19.069 [info] GET /media_profiles 18:50:19.069 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 18:50:19.071 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.1ms idle=1002.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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" [] 18:50:19.072 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=189.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.072 [debug] QUERY OK source="settings" db=0.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 [] 18:50:19.073 [debug] QUERY OK source="settings" db=0.1ms 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:50:19.075 [info] Sent 200 in 6ms 18:50:19.250 [info] CONNECTED TO Phoenix.LiveView.Socket in 29µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "NQkebAchPRgDMT1WGFk_f3EGVzgqCggsVjZZpdPYJGm8Akt70_0AOCOM", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:50:19.257 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:50:19.257 [debug] Replied in 107µs 18:50:19.334 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "jagecgecgecgecgecgecgec\nArtwork credit to Ren.\n\n00:00 745 sticky\n02:16 money machine\n04:12 800db cloud\n06:29 I Need Help Immediately\n07:56 stupid horse\n10:18 xXXi_wud_nvrstøp_ÜXXx\n13:15 ringtone\n15:39 gecgecgec\n17:58 hand crushed by a mallet\n20:23 gec 2 Ü", "duration" => 1420, "filename" => "/downloads/UnpragmaticCovers/2025-06-01 1000 gecs - 100 gecs but it's the OldSchool RuneScape soundfont/1000 gecs - 100 gecs but it's the OldSchool RuneScape soundfont [pz2H8ym1Q5k].mp4", "id" => "pz2H8ym1Q5k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=pz2H8ym1Q5k", "playlist_index" => 133, "timestamp" => 1748786475, "title" => "1000 gecs - 100 gecs but it's the OldSchool RuneScape soundfont", "upload_date" => "20250601"} 18:50:19.335 [debug] QUERY OK source="sources" db=0.1ms idle=277.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:50:19.335 [debug] QUERY OK source="sources" db=0.1ms idle=264.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:50:19.336 [debug] QUERY OK source="media_items" db=0.3ms idle=264.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-01 14:01:15Z], 1] 18:50:19.337 [debug] QUERY OK source="media_items" db=0.5ms idle=264.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["jagecgecgecgecgecgecgec\nArtwork credit to Ren.\n\n00:00 745 sticky\n02:16 money machine\n04:12 800db cloud\n06:29 I Need Help Immediately\n07:56 stupid horse\n10:18 xXXi_wud_nvrstøp_ÜXXx\n13:15 ringtone\n15:39 gecgecgec\n17:58 hand crushed by a mallet\n20:23 gec 2 Ü", "1000 gecs - 100 gecs but it's the OldSchool RuneScape soundfont", "857c3291-8ef1-4c2c-8b48-347257f2c8f8", "pz2H8ym1Q5k", false, "https://www.youtube.com/watch?v=pz2H8ym1Q5k", 1, [], 1420, false, 133, "/downloads/UnpragmaticCovers/2025-06-01 1000 gecs - 100 gecs but it's the OldSchool RuneScape soundfont/1000 gecs - 100 gecs but it's the OldSchool RuneScape soundfont [pz2H8ym1Q5k].mp4", false, false, 99, ~U[2025-06-01 14:01:15Z], ~U[2026-06-27 16:50:19Z], ~U[2026-06-27 16:50:19Z], "jagecgecgecgecgecgecgec\nArtwork credit to Ren.\n\n00:00 745 sticky\n02:16 money machine\n04:12 800db cloud\n06:29 I Need Help Immediately\n07:56 stupid horse\n10:18 xXXi_wud_nvrstøp_ÜXXx\n13:15 ringtone\n15:39 gecgecgec\n17:58 hand crushed by a mallet\n20:23 gec 2 Ü", "1000 gecs - 100 gecs but it's the OldSchool RuneScape soundfont", "pz2H8ym1Q5k", "https://www.youtube.com/watch?v=pz2H8ym1Q5k", 1, 1420, false, "/downloads/UnpragmaticCovers/2025-06-01 1000 gecs - 100 gecs but it's the OldSchool RuneScape soundfont/1000 gecs - 100 gecs but it's the OldSchool RuneScape soundfont [pz2H8ym1Q5k].mp4", false, ~U[2025-06-01 14:01:15Z]] 18:50:19.337 [debug] QUERY OK source="sources" db=0.3ms idle=264.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:50:19.338 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 18:50:19.338 [debug] QUERY OK source="media_items" db=0.1ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [133] 18:50:19.338 [info] Kicking off download for media item #133 (pz2H8ym1Q5k) 18:50:19.340 [debug] QUERY OK source="tasks" db=0.1ms idle=2.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [136, 133, ~U[2026-06-27 16:50:19Z], ~U[2026-06-27 16:50:19Z]] 18:50:19.340 [debug] Current batch of media processed. Will check again in 1000ms 18:50:20.341 [debug] Current batch of media processed. Will check again in 1000ms 18:50:21.336 [info] GET /media_profiles/1/edit 18:50:21.336 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 18:50:21.337 [debug] QUERY OK source="media_profiles" db=0.2ms idle=449.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:50:21.338 [debug] QUERY OK source="settings" db=0.1ms idle=271.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:21.338 [debug] QUERY OK source="settings" db=0.2ms idle=271.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:21.339 [debug] QUERY OK source="settings" db=0.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 [] 18:50:21.341 [info] Sent 200 in 4ms 18:50:21.342 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I'm your ninety nine\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 164, "filename" => "/downloads/UnpragmaticCovers/2025-05-30 Von dutch - Charli XCX but it's the OldSchool RuneScape soundfont/Von dutch - Charli XCX but it's the OldSchool RuneScape soundfont [Km3sR2W_wkg].mp4", "id" => "Km3sR2W_wkg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Km3sR2W_wkg", "playlist_index" => 134, "timestamp" => 1748613636, "title" => "Von dutch - Charli XCX but it's the OldSchool RuneScape soundfont", "upload_date" => "20250530"} 18:50:21.343 [debug] QUERY OK source="sources" db=0.3ms idle=276.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:50:21.346 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms 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] 18:50:21.348 [debug] QUERY OK source="media_items" db=0.9ms idle=9.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-30 14:00:36Z], 1] 18:50:21.349 [debug] QUERY OK source="media_items" db=1.0ms idle=9.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I'm your ninety nine\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Von dutch - Charli XCX but it's the OldSchool RuneScape soundfont", "a0d0b372-b816-46a7-89aa-a89610568467", "Km3sR2W_wkg", false, "https://www.youtube.com/watch?v=Km3sR2W_wkg", 1, [], 164, false, 134, "/downloads/UnpragmaticCovers/2025-05-30 Von dutch - Charli XCX but it's the OldSchool RuneScape soundfont/Von dutch - Charli XCX but it's the OldSchool RuneScape soundfont [Km3sR2W_wkg].mp4", false, false, 99, ~U[2025-05-30 14:00:36Z], ~U[2026-06-27 16:50:21Z], ~U[2026-06-27 16:50:21Z], "I'm your ninety nine\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Von dutch - Charli XCX but it's the OldSchool RuneScape soundfont", "Km3sR2W_wkg", "https://www.youtube.com/watch?v=Km3sR2W_wkg", 1, 164, false, "/downloads/UnpragmaticCovers/2025-05-30 Von dutch - Charli XCX but it's the OldSchool RuneScape soundfont/Von dutch - Charli XCX but it's the OldSchool RuneScape soundfont [Km3sR2W_wkg].mp4", false, ~U[2025-05-30 14:00:36Z]] 18:50:21.350 [debug] QUERY OK source="sources" db=0.3ms idle=10.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:50:21.350 [debug] QUERY OK source="media_profiles" db=0.3ms idle=6.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:50:21.351 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [134] 18:50:21.351 [info] Kicking off download for media item #134 (Km3sR2W_wkg) 18:50:21.353 [debug] QUERY OK source="tasks" db=0.1ms idle=3.5ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [137, 134, ~U[2026-06-27 16:50:21Z], ~U[2026-06-27 16:50:21Z]] 18:50:21.354 [debug] Current batch of media processed. Will check again in 1000ms 18:50:21.536 [info] CONNECTED TO Phoenix.LiveView.Socket in 32µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "KBcrcjUJWC4gQjQoMnYHBAsICD4ocTEmKtoDBL5oi4dFkDLLJQoGM8vG", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:50:21.543 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:50:21.544 [debug] Replied in 170µs 18:50:22.354 [debug] Current batch of media processed. Will check again in 1000ms 18:50:23.355 [debug] Current batch of media processed. Will check again in 1000ms 18:50:24.357 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Whoah\nWe're halfway there\nWhoah\n92 Prayer\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 228, "filename" => "/downloads/UnpragmaticCovers/2025-05-27 Livin' on a Prayer - Bon Jovi but it's the OldSchool RuneScape soundfont/Livin' on a Prayer - Bon Jovi but it's the OldSchool RuneScape soundfont [RF1XvvZfm4A].mp4", "id" => "RF1XvvZfm4A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RF1XvvZfm4A", "playlist_index" => 135, "timestamp" => 1748354445, "title" => "Livin' on a Prayer - Bon Jovi but it's the OldSchool RuneScape soundfont", "upload_date" => "20250527"} 18:50:24.359 [debug] QUERY OK source="sources" db=1.0ms idle=1291.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:50:24.360 [debug] QUERY OK source="sources" db=0.6ms idle=1293.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:50:24.361 [debug] QUERY OK source="media_items" db=0.5ms idle=1294.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-27 14:00:45Z], 1] 18:50:24.364 [debug] QUERY OK source="media_items" db=1.5ms idle=1295.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Whoah\nWe're halfway there\nWhoah\n92 Prayer\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Livin' on a Prayer - Bon Jovi but it's the OldSchool RuneScape soundfont", "975309e1-096f-4f4b-8d13-61be7ad2d754", "RF1XvvZfm4A", false, "https://www.youtube.com/watch?v=RF1XvvZfm4A", 1, [], 228, false, 135, "/downloads/UnpragmaticCovers/2025-05-27 Livin' on a Prayer - Bon Jovi but it's the OldSchool RuneScape soundfont/Livin' on a Prayer - Bon Jovi but it's the OldSchool RuneScape soundfont [RF1XvvZfm4A].mp4", false, false, 99, ~U[2025-05-27 14:00:45Z], ~U[2026-06-27 16:50:24Z], ~U[2026-06-27 16:50:24Z], "Whoah\nWe're halfway there\nWhoah\n92 Prayer\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Livin' on a Prayer - Bon Jovi but it's the OldSchool RuneScape soundfont", "RF1XvvZfm4A", "https://www.youtube.com/watch?v=RF1XvvZfm4A", 1, 228, false, "/downloads/UnpragmaticCovers/2025-05-27 Livin' on a Prayer - Bon Jovi but it's the OldSchool RuneScape soundfont/Livin' on a Prayer - Bon Jovi but it's the OldSchool RuneScape soundfont [RF1XvvZfm4A].mp4", false, ~U[2025-05-27 14:00:45Z]] 18:50:24.364 [debug] QUERY OK source="sources" db=0.3ms idle=468.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:50:24.365 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 18:50:24.366 [debug] QUERY OK source="media_items" db=0.4ms idle=5.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [135] 18:50:24.366 [info] Kicking off download for media item #135 (RF1XvvZfm4A) 18:50:24.370 [debug] QUERY OK source="tasks" db=0.3ms idle=4.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [138, 135, ~U[2026-06-27 16:50:24Z], ~U[2026-06-27 16:50:24Z]] 18:50:24.370 [debug] Current batch of media processed. Will check again in 1000ms 18:50:25.370 [debug] Current batch of media processed. Will check again in 1000ms 18:50:26.371 [debug] Current batch of media processed. Will check again in 1000ms 18:50:27.290 [info] POST /media_profiles/1 18:50:27.291 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.update/2 Parameters: %{"_csrf_token" => "KBcrcjUJWC4gQjQoMnYHBAsICD4ocTEmKtoDBL5oi4dFkDLLJQoGM8vG", "_method" => "patch", "id" => "1", "media_profile" => %{"audio_track" => "", "download_auto_subs" => "false", "download_metadata" => "false", "download_nfo" => "false", "download_source_images" => "false", "download_subs" => "true", "download_thumbnail" => "true", "embed_metadata" => "true", "embed_subs" => "true", "embed_thumbnail" => "true", "livestream_behaviour" => "exclude", "media_container" => "", "name" => "Default", "output_path_template" => "/{{ source_custom_name }}/{{ upload_yyyy_mm_dd }} {{ title }}/{{ title }} [{{ id }}].{{ ext }}", "preferred_resolution" => "1080p", "redownload_delay_days" => "", "shorts_behaviour" => "include", "sponsorblock_behaviour" => "disabled", "sub_langs" => "en"}, "media_profile_preset" => ""} Pipelines: [:browser] 18:50:27.291 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1224.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:50:27.292 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1225.3ms UPDATE "media_profiles" SET "output_path_template" = ?, "updated_at" = ? WHERE "id" = ? ["/{{ source_custom_name }}/{{ upload_yyyy_mm_dd }} {{ title }}/{{ title }} [{{ id }}].{{ ext }}", ~U[2026-06-27 16:50:27Z], 1] 18:50:27.292 [info] Sent 302 in 2ms 18:50:27.298 [info] GET /media_profiles/1 18:50:27.298 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 18:50:27.299 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1232.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:50:27.300 [debug] QUERY OK source="sources" db=0.2ms idle=1232.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 18:50:27.300 [debug] QUERY OK source="settings" db=0.1ms idle=394.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:50:27.300 [debug] QUERY OK source="settings" db=0.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 [] 18:50:27.301 [debug] QUERY OK source="settings" db=0.2ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:50:27.302 [info] Sent 200 in 4ms 18:50:27.372 [debug] Current batch of media processed. Will check again in 1000ms 18:50:27.373 [info] CONNECTED TO Phoenix.LiveView.Socket in 30µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "FTU9YwEmOS0rDyAAbVFyJnEJShdTKD0IvVyUvcTlbypn4c9n0P-n6azi", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://pinchflat.tuurvera.myaddr.io/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://pinchflat.tuurvera.myaddr.io/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:50:27.383 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "ccD6wEmAIvPnY2KHAYgyeIGa"} 18:50:27.383 [debug] Replied in 111µs 18:50:28.373 [debug] Current batch of media processed. Will check again in 1000ms 18:50:29.375 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 228, "filename" => "/downloads/UnpragmaticCovers/2025-05-23 Orinoco Flow (Sail Away) - Enya but it's the OldSchool RuneScape soundfont/Orinoco Flow (Sail Away) - Enya but it's the OldSchool RuneScape soundfont [GLpjGUEJmKs].mp4", "id" => "GLpjGUEJmKs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GLpjGUEJmKs", "playlist_index" => 136, "timestamp" => 1748008819, "title" => "Orinoco Flow (Sail Away) - Enya but it's the OldSchool RuneScape soundfont", "upload_date" => "20250523"} 18:50:29.377 [debug] QUERY OK source="sources" db=0.9ms idle=466.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:50:29.378 [debug] QUERY OK source="sources" db=0.7ms idle=310.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:50:29.381 [debug] QUERY OK source="media_items" db=1.9ms queue=0.2ms idle=312.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-23 14:00:19Z], 1] 18:50:29.383 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=315.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Orinoco Flow (Sail Away) - Enya but it's the OldSchool RuneScape soundfont", "b3285ac6-aa39-46ab-b2bf-8b78ba256fa4", "GLpjGUEJmKs", false, "https://www.youtube.com/watch?v=GLpjGUEJmKs", 1, [], 228, false, 136, "/downloads/UnpragmaticCovers/2025-05-23 Orinoco Flow (Sail Away) - Enya but it's the OldSchool RuneScape soundfont/Orinoco Flow (Sail Away) - Enya but it's the OldSchool RuneScape soundfont [GLpjGUEJmKs].mp4", false, false, 99, ~U[2025-05-23 14:00:19Z], ~U[2026-06-27 16:50:29Z], ~U[2026-06-27 16:50:29Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Orinoco Flow (Sail Away) - Enya but it's the OldSchool RuneScape soundfont", "GLpjGUEJmKs", "https://www.youtube.com/watch?v=GLpjGUEJmKs", 1, 228, false, "/downloads/UnpragmaticCovers/2025-05-23 Orinoco Flow (Sail Away) - Enya but it's the OldSchool RuneScape soundfont/Orinoco Flow (Sail Away) - Enya but it's the OldSchool RuneScape soundfont [GLpjGUEJmKs].mp4", false, ~U[2025-05-23 14:00:19Z]] 18:50:29.384 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=317.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:50:29.385 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.2ms idle=8.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:50:29.387 [debug] QUERY OK source="media_items" db=1.1ms idle=7.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [136] 18:50:29.387 [info] Kicking off download for media item #136 (GLpjGUEJmKs) 18:50:29.392 [debug] QUERY OK source="tasks" db=0.3ms idle=7.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [139, 136, ~U[2026-06-27 16:50:29Z], ~U[2026-06-27 16:50:29Z]] 18:50:29.392 [debug] Current batch of media processed. Will check again in 1000ms 18:50:30.393 [debug] Current batch of media processed. Will check again in 1000ms 18:50:31.394 [debug] Current batch of media processed. Will check again in 1000ms 18:50:32.360 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xEUQRPkPLJQ --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/14/9f/149f22950628d76f745df443f4e663419f7370e24247c8cf4960ae4f2d679d99.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:50:32.379 [debug] Running yt-dlp command for action: download_thumbnail 18:50:32.381 [debug] QUERY OK source="settings" db=0.5ms idle=1313.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:50:32.381 [debug] QUERY OK source="settings" db=0.5ms idle=1314.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:32.382 [debug] QUERY OK source="settings" db=0.1ms idle=1315.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:32.382 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xEUQRPkPLJQ --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/c0/3b/c03bef7449cf030547edf7bb90e6511743aa0737b88e2329b799c17cc52ba129.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:50:32.395 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "No gnome children were harmed in the making of this song.\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 279, "filename" => "/downloads/UnpragmaticCovers/2025-05-20 Down With the Sickness - Disturbed but it's the OldSchool RuneScape soundfont/Down With the Sickness - Disturbed but it's the OldSchool RuneScape soundfont [YIOGGKyCcS8].mp4", "id" => "YIOGGKyCcS8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=YIOGGKyCcS8", "playlist_index" => 137, "timestamp" => 1747749661, "title" => "Down With the Sickness - Disturbed but it's the OldSchool RuneScape soundfont", "upload_date" => "20250520"} 18:50:32.397 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1329.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:50:32.398 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:50:32.400 [debug] QUERY OK source="media_items" db=0.9ms queue=0.5ms idle=17.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-20 14:01:01Z], 1] 18:50:32.403 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=19.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["No gnome children were harmed in the making of this song.\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Down With the Sickness - Disturbed but it's the OldSchool RuneScape soundfont", "be58d5c3-2064-4d3c-b819-eed5b9499963", "YIOGGKyCcS8", false, "https://www.youtube.com/watch?v=YIOGGKyCcS8", 1, [], 279, false, 137, "/downloads/UnpragmaticCovers/2025-05-20 Down With the Sickness - Disturbed but it's the OldSchool RuneScape soundfont/Down With the Sickness - Disturbed but it's the OldSchool RuneScape soundfont [YIOGGKyCcS8].mp4", false, false, 99, ~U[2025-05-20 14:01:01Z], ~U[2026-06-27 16:50:32Z], ~U[2026-06-27 16:50:32Z], "No gnome children were harmed in the making of this song.\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Down With the Sickness - Disturbed but it's the OldSchool RuneScape soundfont", "YIOGGKyCcS8", "https://www.youtube.com/watch?v=YIOGGKyCcS8", 1, 279, false, "/downloads/UnpragmaticCovers/2025-05-20 Down With the Sickness - Disturbed but it's the OldSchool RuneScape soundfont/Down With the Sickness - Disturbed but it's the OldSchool RuneScape soundfont [YIOGGKyCcS8].mp4", false, ~U[2025-05-20 14:01:01Z]] 18:50:32.404 [debug] QUERY OK source="sources" db=0.9ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:50:32.405 [debug] QUERY OK source="media_profiles" db=0.4ms idle=7.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:50:32.407 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=7.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [137] 18:50:32.407 [info] Kicking off download for media item #137 (YIOGGKyCcS8) 18:50:32.412 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=6.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [140, 137, ~U[2026-06-27 16:50:32Z], ~U[2026-06-27 16:50:32Z]] 18:50:32.412 [debug] Current batch of media processed. Will check again in 1000ms 18:50:33.416 [debug] Current batch of media processed. Will check again in 1000ms 18:50:34.418 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Did, did, did, did you see the smited ones?\n\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 142, "filename" => "/downloads/UnpragmaticCovers/2025-05-16 Goodbye Blue Sky - Pink Floyd but it's the OldSchool RuneScape soundfont/Goodbye Blue Sky - Pink Floyd but it's the OldSchool RuneScape soundfont [CgYsZC8iEgQ].mp4", "id" => "CgYsZC8iEgQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=CgYsZC8iEgQ", "playlist_index" => 138, "timestamp" => 1747404030, "title" => "Goodbye Blue Sky - Pink Floyd but it's the OldSchool RuneScape soundfont", "upload_date" => "20250516"} 18:50:34.420 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=492.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:50:34.421 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=351.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:50:34.422 [debug] QUERY OK source="media_items" db=0.7ms idle=353.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-16 14:00:30Z], 1] 18:50:34.424 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=354.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Did, did, did, did you see the smited ones?\n\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Goodbye Blue Sky - Pink Floyd but it's the OldSchool RuneScape soundfont", "e13c0a79-bc33-484c-8720-7d7fb69c9038", "CgYsZC8iEgQ", false, "https://www.youtube.com/watch?v=CgYsZC8iEgQ", 1, [], 142, false, 138, "/downloads/UnpragmaticCovers/2025-05-16 Goodbye Blue Sky - Pink Floyd but it's the OldSchool RuneScape soundfont/Goodbye Blue Sky - Pink Floyd but it's the OldSchool RuneScape soundfont [CgYsZC8iEgQ].mp4", false, false, 99, ~U[2025-05-16 14:00:30Z], ~U[2026-06-27 16:50:34Z], ~U[2026-06-27 16:50:34Z], "Did, did, did, did you see the smited ones?\n\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Goodbye Blue Sky - Pink Floyd but it's the OldSchool RuneScape soundfont", "CgYsZC8iEgQ", "https://www.youtube.com/watch?v=CgYsZC8iEgQ", 1, 142, false, "/downloads/UnpragmaticCovers/2025-05-16 Goodbye Blue Sky - Pink Floyd but it's the OldSchool RuneScape soundfont/Goodbye Blue Sky - Pink Floyd but it's the OldSchool RuneScape soundfont [CgYsZC8iEgQ].mp4", false, ~U[2025-05-16 14:00:30Z]] 18:50:34.425 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=356.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:50:34.426 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=6.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:50:34.428 [debug] QUERY OK source="media_items" db=0.5ms idle=5.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [138] 18:50:34.428 [info] Kicking off download for media item #138 (CgYsZC8iEgQ) 18:50:34.431 [debug] QUERY OK source="tasks" db=0.2ms idle=5.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [141, 138, ~U[2026-06-27 16:50:34Z], ~U[2026-06-27 16:50:34Z]] 18:50:34.431 [debug] Current batch of media processed. Will check again in 1000ms 18:50:35.432 [debug] Current batch of media processed. Will check again in 1000ms 18:50:36.433 [debug] Current batch of media processed. Will check again in 1000ms 18:50:36.854 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jum5XWyqKzc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/youtube/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8b/5c/8b5c275ab168a060e7a5b4f6db6e50712d302c92ee6dbf97970b4c3940ce42e0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:50:36.895 [debug] Running yt-dlp command for action: download_thumbnail 18:50:36.902 [debug] QUERY OK source="settings" db=2.1ms idle=968.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:36.903 [debug] QUERY OK source="settings" db=0.7ms idle=833.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:36.904 [debug] QUERY OK source="settings" db=1.3ms idle=834.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:36.905 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jum5XWyqKzc --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/5e/bb/5ebbf2fc8b28dee6e38b2805dcb5b842600817d18822cf7e0f197354e004641b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:50:37.434 [debug] Current batch of media processed. Will check again in 1000ms 18:50:38.435 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Kree Bird\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 598, "filename" => "/downloads/UnpragmaticCovers/2025-05-13 Free Bird - Lynyrd Skynyrd but it's the OldSchool RuneScape soundfont/Free Bird - Lynyrd Skynyrd but it's the OldSchool RuneScape soundfont [Sz18-VXhR3Y].mp4", "id" => "Sz18-VXhR3Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Sz18-VXhR3Y", "playlist_index" => 139, "timestamp" => 1747144841, "title" => "Free Bird - Lynyrd Skynyrd but it's the OldSchool RuneScape soundfont", "upload_date" => "20250513"} 18:50:38.436 [debug] QUERY OK source="sources" db=0.5ms idle=491.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:50:38.437 [debug] QUERY OK source="sources" db=0.4ms idle=363.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:50:38.438 [debug] QUERY OK source="media_items" db=0.7ms idle=363.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-13 14:00:41Z], 1] 18:50:38.440 [debug] QUERY OK source="media_items" db=1.2ms idle=365.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Kree Bird\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Free Bird - Lynyrd Skynyrd but it's the OldSchool RuneScape soundfont", "9a85bbfd-ce12-48a3-a4b9-ffc17e0380c5", "Sz18-VXhR3Y", false, "https://www.youtube.com/watch?v=Sz18-VXhR3Y", 1, [], 598, false, 139, "/downloads/UnpragmaticCovers/2025-05-13 Free Bird - Lynyrd Skynyrd but it's the OldSchool RuneScape soundfont/Free Bird - Lynyrd Skynyrd but it's the OldSchool RuneScape soundfont [Sz18-VXhR3Y].mp4", false, false, 99, ~U[2025-05-13 14:00:41Z], ~U[2026-06-27 16:50:38Z], ~U[2026-06-27 16:50:38Z], "Kree Bird\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Free Bird - Lynyrd Skynyrd but it's the OldSchool RuneScape soundfont", "Sz18-VXhR3Y", "https://www.youtube.com/watch?v=Sz18-VXhR3Y", 1, 598, false, "/downloads/UnpragmaticCovers/2025-05-13 Free Bird - Lynyrd Skynyrd but it's the OldSchool RuneScape soundfont/Free Bird - Lynyrd Skynyrd but it's the OldSchool RuneScape soundfont [Sz18-VXhR3Y].mp4", false, ~U[2025-05-13 14:00:41Z]] 18:50:38.440 [debug] QUERY OK source="sources" db=0.2ms idle=366.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:50:38.441 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:50:38.441 [debug] QUERY OK source="media_items" db=0.3ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [139] 18:50:38.441 [info] Kicking off download for media item #139 (Sz18-VXhR3Y) 18:50:38.444 [debug] QUERY OK source="tasks" db=0.1ms idle=3.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [142, 139, ~U[2026-06-27 16:50:38Z], ~U[2026-06-27 16:50:38Z]] 18:50:38.444 [debug] Current batch of media processed. Will check again in 1000ms 18:50:39.448 [debug] Current batch of media processed. Will check again in 1000ms 18:50:40.450 [debug] Current batch of media processed. Will check again in 1000ms 18:50:41.450 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Happy Mother's Day!\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 198, "filename" => "/downloads/UnpragmaticCovers/2025-05-11 Just Like Heaven - The Cure but it's the OldSchool RuneScape soundfont/Just Like Heaven - The Cure but it's the OldSchool RuneScape soundfont [2HYJMWVjP6M].mp4", "id" => "2HYJMWVjP6M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2HYJMWVjP6M", "playlist_index" => 140, "timestamp" => 1746972004, "title" => "Just Like Heaven - The Cure but it's the OldSchool RuneScape soundfont", "upload_date" => "20250511"} 18:50:41.458 [debug] QUERY OK source="sources" db=5.0ms queue=0.1ms idle=1379.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:50:41.459 [debug] QUERY OK source="sources" db=0.5ms queue=0.5ms idle=1385.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:50:41.470 [debug] QUERY OK source="media_items" db=7.5ms queue=2.4ms idle=1386.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-11 14:00:04Z], 1] 18:50:41.476 [debug] QUERY OK source="media_items" db=2.1ms idle=1398.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Happy Mother's Day!\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Just Like Heaven - The Cure but it's the OldSchool RuneScape soundfont", "4f7c1947-6bde-4849-b611-eaf1a382d513", "2HYJMWVjP6M", false, "https://www.youtube.com/watch?v=2HYJMWVjP6M", 1, [], 198, false, 140, "/downloads/UnpragmaticCovers/2025-05-11 Just Like Heaven - The Cure but it's the OldSchool RuneScape soundfont/Just Like Heaven - The Cure but it's the OldSchool RuneScape soundfont [2HYJMWVjP6M].mp4", false, false, 99, ~U[2025-05-11 14:00:04Z], ~U[2026-06-27 16:50:41Z], ~U[2026-06-27 16:50:41Z], "Happy Mother's Day!\n\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Just Like Heaven - The Cure but it's the OldSchool RuneScape soundfont", "2HYJMWVjP6M", "https://www.youtube.com/watch?v=2HYJMWVjP6M", 1, 198, false, "/downloads/UnpragmaticCovers/2025-05-11 Just Like Heaven - The Cure but it's the OldSchool RuneScape soundfont/Just Like Heaven - The Cure but it's the OldSchool RuneScape soundfont [2HYJMWVjP6M].mp4", false, ~U[2025-05-11 14:00:04Z]] 18:50:41.479 [debug] QUERY OK source="sources" db=0.8ms queue=2.3ms idle=517.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:50:41.485 [debug] QUERY OK source="media_profiles" db=5.4ms idle=21.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:50:41.488 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=26.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [140] 18:50:41.488 [info] Kicking off download for media item #140 (2HYJMWVjP6M) 18:50:41.508 [debug] QUERY OK source="tasks" db=0.9ms queue=2.0ms idle=25.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [143, 140, ~U[2026-06-27 16:50:41Z], ~U[2026-06-27 16:50:41Z]] 18:50:41.509 [debug] Current batch of media processed. Will check again in 1000ms 18:50:42.510 [debug] Current batch of media processed. Will check again in 1000ms 18:50:43.514 [debug] Current batch of media processed. Will check again in 1000ms 18:50:44.518 [debug] Current batch of media processed. Will check again in 1000ms 18:50:45.519 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "🦀🦀🦀\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 194, "filename" => "/downloads/UnpragmaticCovers/2025-05-09 Riot - Three Days Grace but it's the OldSchool RuneScape soundfont/Riot - Three Days Grace but it's the OldSchool RuneScape soundfont [ZfNSwHDhv_E].mp4", "id" => "ZfNSwHDhv_E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZfNSwHDhv_E", "playlist_index" => 141, "timestamp" => 1746799251, "title" => "Riot - Three Days Grace but it's the OldSchool RuneScape soundfont", "upload_date" => "20250509"} 18:50:45.520 [debug] QUERY OK source="sources" db=0.4ms idle=532.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:50:45.521 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=447.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:50:45.522 [debug] QUERY OK source="media_items" db=0.5ms idle=448.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-09 14:00:51Z], 1] 18:50:45.524 [debug] QUERY OK source="media_items" db=0.9ms idle=449.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["🦀🦀🦀\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Riot - Three Days Grace but it's the OldSchool RuneScape soundfont", "0499e3d8-0f18-44fb-9f33-d3d17cdafe45", "ZfNSwHDhv_E", false, "https://www.youtube.com/watch?v=ZfNSwHDhv_E", 1, [], 194, false, 141, "/downloads/UnpragmaticCovers/2025-05-09 Riot - Three Days Grace but it's the OldSchool RuneScape soundfont/Riot - Three Days Grace but it's the OldSchool RuneScape soundfont [ZfNSwHDhv_E].mp4", false, false, 99, ~U[2025-05-09 14:00:51Z], ~U[2026-06-27 16:50:45Z], ~U[2026-06-27 16:50:45Z], "🦀🦀🦀\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Riot - Three Days Grace but it's the OldSchool RuneScape soundfont", "ZfNSwHDhv_E", "https://www.youtube.com/watch?v=ZfNSwHDhv_E", 1, 194, false, "/downloads/UnpragmaticCovers/2025-05-09 Riot - Three Days Grace but it's the OldSchool RuneScape soundfont/Riot - Three Days Grace but it's the OldSchool RuneScape soundfont [ZfNSwHDhv_E].mp4", false, ~U[2025-05-09 14:00:51Z]] 18:50:45.525 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=450.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:50:45.525 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:50:45.526 [debug] QUERY OK source="media_items" db=0.4ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [141] 18:50:45.526 [info] Kicking off download for media item #141 (ZfNSwHDhv_E) 18:50:45.530 [debug] QUERY OK source="tasks" db=0.2ms queue=0.1ms idle=4.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [144, 141, ~U[2026-06-27 16:50:45Z], ~U[2026-06-27 16:50:45Z]] 18:50:45.530 [debug] Current batch of media processed. Will check again in 1000ms 18:50:46.532 [debug] Current batch of media processed. Will check again in 1000ms 18:50:47.534 [debug] Current batch of media processed. Will check again in 1000ms 18:50:47.649 [info] {"source":"oban","duration":948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:48.535 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I've been picking my flax again\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 361, "filename" => "/downloads/UnpragmaticCovers/2025-05-06 Forty Six & Two - Tool but it's the OldSchool RuneScape soundfont/Forty Six & Two - Tool but it's the OldSchool RuneScape soundfont [QoaOgdYbQ8U].mp4", "id" => "QoaOgdYbQ8U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QoaOgdYbQ8U", "playlist_index" => 142, "timestamp" => 1746540040, "title" => "Forty Six & Two - Tool but it's the OldSchool RuneScape soundfont", "upload_date" => "20250506"} 18:50:48.537 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1462.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:50:48.539 [debug] QUERY OK source="sources" db=1.3ms queue=0.4ms idle=1463.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:50:48.540 [debug] QUERY OK source="media_items" db=0.4ms idle=1466.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-06 14:00:40Z], 1] 18:50:48.543 [debug] QUERY OK source="media_items" db=2.1ms idle=892.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I've been picking my flax again\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Forty Six & Two - Tool but it's the OldSchool RuneScape soundfont", "41adff95-bbc5-4715-b7ac-80515d13f969", "QoaOgdYbQ8U", false, "https://www.youtube.com/watch?v=QoaOgdYbQ8U", 1, [], 361, false, 142, "/downloads/UnpragmaticCovers/2025-05-06 Forty Six & Two - Tool but it's the OldSchool RuneScape soundfont/Forty Six & Two - Tool but it's the OldSchool RuneScape soundfont [QoaOgdYbQ8U].mp4", false, false, 99, ~U[2025-05-06 14:00:40Z], ~U[2026-06-27 16:50:48Z], ~U[2026-06-27 16:50:48Z], "I've been picking my flax again\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Forty Six & Two - Tool but it's the OldSchool RuneScape soundfont", "QoaOgdYbQ8U", "https://www.youtube.com/watch?v=QoaOgdYbQ8U", 1, 361, false, "/downloads/UnpragmaticCovers/2025-05-06 Forty Six & Two - Tool but it's the OldSchool RuneScape soundfont/Forty Six & Two - Tool but it's the OldSchool RuneScape soundfont [QoaOgdYbQ8U].mp4", false, ~U[2025-05-06 14:00:40Z]] 18:50:48.544 [debug] QUERY OK source="sources" db=0.3ms idle=546.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:50:48.545 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=7.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:50:48.547 [debug] QUERY OK source="media_items" db=1.3ms idle=6.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [142] 18:50:48.548 [info] Kicking off download for media item #142 (QoaOgdYbQ8U) 18:50:48.552 [debug] QUERY OK source="tasks" db=1.0ms idle=7.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [145, 142, ~U[2026-06-27 16:50:48Z], ~U[2026-06-27 16:50:48Z]] 18:50:48.552 [debug] Current batch of media processed. Will check again in 1000ms 18:50:49.565 [debug] Current batch of media processed. Will check again in 1000ms 18:50:49.782 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xEUQRPkPLJQ --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/c0/3b/c03bef7449cf030547edf7bb90e6511743aa0737b88e2329b799c17cc52ba129.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:50:49.790 [debug] QUERY OK db=1.3ms queue=0.8ms idle=1240.1ms begin [] 18:50:49.792 [debug] QUERY OK source="media_items" db=2.2ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "predicted_media_filepath" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/youtube/UnpragmaticCovers/2026-03-24 bury a friend - Billie Eilish but it's the OldSchool RuneScape soundfont/bury a friend - Billie Eilish but it's the OldSchool RuneScape soundfont [xEUQRPkPLJQ].mp4", "/downloads/youtube/UnpragmaticCovers/2026-03-24 bury a friend - Billie Eilish but it's the OldSchool RuneScape soundfont/bury a friend - Billie Eilish but it's the OldSchool RuneScape soundfont [xEUQRPkPLJQ]-thumb.jpg", ~U[2026-06-27 16:50:32Z], "/downloads/youtube/UnpragmaticCovers/2026-03-24 bury a friend - Billie Eilish but it's the OldSchool RuneScape soundfont/bury a friend - Billie Eilish but it's the OldSchool RuneScape soundfont [xEUQRPkPLJQ].mp4", ~U[2026-06-27 16:50:49Z], 29] 18:50:49.795 [debug] QUERY OK source="media_metadata" db=2.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/29/metadata.json.gz", "/config/metadata/media_items/29/thumbnail.jpg", 29, ~U[2026-06-27 16:50:49Z], ~U[2026-06-27 16:50:49Z]] 18:50:49.795 [debug] QUERY OK db=0.4ms commit [] 18:50:49.805 [debug] QUERY OK source="media_items" db=8.0ms idle=1247.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [4456096, ~U[2026-06-27 16:50:49Z], 29] 18:50:49.807 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:50:49.809 [info] {"args":{"id":29},"id":32,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":49207164,"event":"job:stop","queue_time":322599658,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:50:49.821 [info] {"args":{"id":31},"id":34,"meta":{},"system_time":1782579049821350202,"max_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:50:49.822 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=822.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" = ?) [31] 18:50:49.823 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:50:49.826 [debug] QUERY OK source="sources" db=3.0ms idle=27.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:50:49.827 [debug] QUERY OK source="media_profiles" db=0.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] 18:50:49.832 [debug] QUERY OK source="media_items" db=1.1ms queue=0.2ms idle=21.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [31] 18:50:49.837 [debug] QUERY OK source="media_metadata" db=0.3ms queue=0.1ms 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" = ?) [31] 18:50:49.839 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.3ms 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] 18:50:49.844 [debug] QUERY OK source="settings" db=2.1ms 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 [] 18:50:49.846 [debug] QUERY OK source="settings" db=1.8ms 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 [] 18:50:49.848 [debug] Running yt-dlp command for action: get_downloadable_status 18:50:49.850 [debug] QUERY OK source="settings" db=0.2ms 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:50:49.851 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=13.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:50:49.852 [debug] QUERY OK source="settings" db=0.4ms queue=0.4ms 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:50:49.852 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_IsV3r4RVbY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/81/0d/810dc27bfcc106f3857e3b754f1980a23d60f889c81e02fa261d7c1ad18b2c13.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:50:50.566 [debug] Current batch of media processed. Will check again in 1000ms 18:50:51.572 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Set an open course for the River Salve\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 344, "filename" => "/downloads/UnpragmaticCovers/2025-05-02 Come Sail Away - Styx but it's the OldSchool RuneScape soundfont/Come Sail Away - Styx but it's the OldSchool RuneScape soundfont [B1F5S-0LCCg].mp4", "id" => "B1F5S-0LCCg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=B1F5S-0LCCg", "playlist_index" => 143, "timestamp" => 1746194415, "title" => "Come Sail Away - Styx but it's the OldSchool RuneScape soundfont", "upload_date" => "20250502"} 18:50:51.576 [debug] QUERY OK source="sources" db=2.5ms queue=0.4ms idle=558.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:50:51.586 [debug] QUERY OK source="sources" db=8.2ms queue=0.1ms idle=504.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:50:51.589 [debug] QUERY OK source="media_items" db=1.1ms queue=1.1ms idle=513.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-02 14:00:15Z], 1] 18:50:51.603 [debug] QUERY OK source="media_items" db=12.1ms queue=0.1ms idle=516.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Set an open course for the River Salve\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Come Sail Away - Styx but it's the OldSchool RuneScape soundfont", "ceac9db6-6148-4a6f-b200-32f166028727", "B1F5S-0LCCg", false, "https://www.youtube.com/watch?v=B1F5S-0LCCg", 1, [], 344, false, 143, "/downloads/UnpragmaticCovers/2025-05-02 Come Sail Away - Styx but it's the OldSchool RuneScape soundfont/Come Sail Away - Styx but it's the OldSchool RuneScape soundfont [B1F5S-0LCCg].mp4", false, false, 99, ~U[2025-05-02 14:00:15Z], ~U[2026-06-27 16:50:51Z], ~U[2026-06-27 16:50:51Z], "Set an open course for the River Salve\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Come Sail Away - Styx but it's the OldSchool RuneScape soundfont", "B1F5S-0LCCg", "https://www.youtube.com/watch?v=B1F5S-0LCCg", 1, 344, false, "/downloads/UnpragmaticCovers/2025-05-02 Come Sail Away - Styx but it's the OldSchool RuneScape soundfont/Come Sail Away - Styx but it's the OldSchool RuneScape soundfont [B1F5S-0LCCg].mp4", false, ~U[2025-05-02 14:00:15Z]] 18:50:51.604 [debug] QUERY OK source="sources" db=0.6ms queue=0.4ms idle=529.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:50:51.614 [debug] QUERY OK source="media_profiles" db=0.6ms queue=9.3ms 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] 18:50:51.630 [debug] QUERY OK source="media_items" db=6.8ms queue=1.0ms idle=35.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [143] 18:50:51.630 [info] Kicking off download for media item #143 (B1F5S-0LCCg) 18:50:51.641 [debug] QUERY OK source="tasks" db=1.3ms idle=35.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [146, 143, ~U[2026-06-27 16:50:51Z], ~U[2026-06-27 16:50:51Z]] 18:50:51.643 [debug] Current batch of media processed. Will check again in 1000ms 18:50:51.837 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=jum5XWyqKzc --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/5e/bb/5ebbf2fc8b28dee6e38b2805dcb5b842600817d18822cf7e0f197354e004641b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:50:51.844 [debug] QUERY OK db=5.2ms idle=224.4ms begin [] 18:50:51.846 [debug] QUERY OK source="media_items" db=1.1ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "predicted_media_filepath" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/youtube/UnpragmaticCovers/2026-03-20 ATWA - System of a Down but it's the OldSchool RuneScape soundfont/ATWA - System of a Down but it's the OldSchool RuneScape soundfont [jum5XWyqKzc].mp4", "/downloads/youtube/UnpragmaticCovers/2026-03-20 ATWA - System of a Down but it's the OldSchool RuneScape soundfont/ATWA - System of a Down but it's the OldSchool RuneScape soundfont [jum5XWyqKzc]-thumb.jpg", ~U[2026-06-27 16:50:36Z], "/downloads/youtube/UnpragmaticCovers/2026-03-20 ATWA - System of a Down but it's the OldSchool RuneScape soundfont/ATWA - System of a Down but it's the OldSchool RuneScape soundfont [jum5XWyqKzc].mp4", ~U[2026-06-27 16:50:51Z], 30] 18:50:51.847 [debug] QUERY OK source="media_metadata" db=0.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/30/metadata.json.gz", "/config/metadata/media_items/30/thumbnail.jpg", 30, ~U[2026-06-27 16:50:51Z], ~U[2026-06-27 16:50:51Z]] 18:50:51.847 [debug] QUERY OK db=0.3ms commit [] 18:50:51.850 [debug] QUERY OK source="media_items" db=1.8ms queue=0.5ms idle=218.9ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [7261240, ~U[2026-06-27 16:50:51Z], 30] 18:50:51.851 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:50:51.852 [info] {"args":{"id":30},"id":33,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":43047152,"event":"job:stop","queue_time":328803662,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:50:51.862 [info] {"args":{"id":32},"id":35,"meta":{},"system_time":1782579051862677058,"max_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:50:51.866 [debug] QUERY OK source="media_items" db=3.4ms idle=221.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" = ?) [32] 18:50:51.868 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:50:51.870 [debug] QUERY OK source="sources" db=1.5ms queue=0.1ms 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] 18:50:51.871 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.2ms 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] 18:50:51.875 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=22.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [32] 18:50:51.883 [debug] QUERY OK source="media_metadata" db=0.1ms idle=20.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" = ?) [32] 18:50:51.883 [debug] QUERY OK source="media_profiles" db=0.6ms 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:50:51.885 [debug] QUERY OK source="settings" db=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 [] 18:50:51.885 [debug] QUERY OK source="settings" db=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:50:51.890 [debug] Running yt-dlp command for action: get_downloadable_status 18:50:51.894 [debug] QUERY OK source="settings" db=0.3ms 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:50:51.895 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms 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:50:51.896 [debug] QUERY OK source="settings" db=0.5ms queue=0.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 [] 18:50:51.896 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=g0bj1-QECmM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/44/b3/44b376c6f623a83bace23d30726449f792b20ff9d0a05446684336c13b71a313.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:50:52.645 [debug] Current batch of media processed. Will check again in 1000ms 18:50:53.646 [debug] Current batch of media processed. Will check again in 1000ms 18:50:54.648 [debug] Current batch of media processed. Will check again in 1000ms 18:50:55.649 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Bob the catJAM\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 137, "filename" => "/downloads/UnpragmaticCovers/2025-04-29 Ievan Polkka but it's the OldSchool RuneScape soundfont/Ievan Polkka but it's the OldSchool RuneScape soundfont [rGIsHVjV_8A].mp4", "id" => "rGIsHVjV_8A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rGIsHVjV_8A", "playlist_index" => 144, "timestamp" => 1745935287, "title" => "Ievan Polkka but it's the OldSchool RuneScape soundfont", "upload_date" => "20250429"} 18:50:55.650 [debug] QUERY OK source="sources" db=0.4ms idle=610.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:50:55.653 [debug] QUERY OK source="sources" db=2.1ms idle=576.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:50:55.660 [debug] QUERY OK source="media_items" db=2.9ms queue=4.2ms idle=578.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-29 14:01:27Z], 1] 18:50:55.665 [debug] QUERY OK source="media_items" db=3.4ms idle=586.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Bob the catJAM\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Ievan Polkka but it's the OldSchool RuneScape soundfont", "3a8911e9-b7b3-41a1-bac9-3882723b8e61", "rGIsHVjV_8A", false, "https://www.youtube.com/watch?v=rGIsHVjV_8A", 1, [], 137, false, 144, "/downloads/UnpragmaticCovers/2025-04-29 Ievan Polkka but it's the OldSchool RuneScape soundfont/Ievan Polkka but it's the OldSchool RuneScape soundfont [rGIsHVjV_8A].mp4", false, false, 99, ~U[2025-04-29 14:01:27Z], ~U[2026-06-27 16:50:55Z], ~U[2026-06-27 16:50:55Z], "Bob the catJAM\nArtwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Ievan Polkka but it's the OldSchool RuneScape soundfont", "rGIsHVjV_8A", "https://www.youtube.com/watch?v=rGIsHVjV_8A", 1, 137, false, "/downloads/UnpragmaticCovers/2025-04-29 Ievan Polkka but it's the OldSchool RuneScape soundfont/Ievan Polkka but it's the OldSchool RuneScape soundfont [rGIsHVjV_8A].mp4", false, ~U[2025-04-29 14:01:27Z]] 18:50:55.670 [debug] QUERY OK source="sources" db=1.6ms queue=2.7ms idle=591.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:50:55.676 [debug] QUERY OK source="media_profiles" db=1.8ms queue=3.2ms idle=20.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."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:50:55.680 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=26.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [144] 18:50:55.680 [info] Kicking off download for media item #144 (rGIsHVjV_8A) 18:50:55.706 [debug] QUERY OK source="tasks" db=2.5ms queue=0.1ms idle=33.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [147, 144, ~U[2026-06-27 16:50:55Z], ~U[2026-06-27 16:50:55Z]] 18:50:55.707 [debug] Current batch of media processed. Will check again in 1000ms 18:50:56.710 [debug] Current batch of media processed. Will check again in 1000ms 18:50:57.712 [debug] Current batch of media processed. Will check again in 1000ms 18:50:57.978 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_IsV3r4RVbY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/81/0d/810dc27bfcc106f3857e3b754f1980a23d60f889c81e02fa261d7c1ad18b2c13.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:50:57.979 [debug] Running yt-dlp command for action: download 18:50:57.990 [debug] QUERY OK source="settings" db=5.4ms queue=5.9ms idle=927.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:57.991 [debug] QUERY OK source="settings" db=0.4ms queue=0.4ms idle=915.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:57.995 [debug] QUERY OK source="settings" db=3.0ms idle=916.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:57.995 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_IsV3r4RVbY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a9/6f/a96fd1684e76350626d4d1a4a5706940e2c1749ec093849429cd3c03edaba8f1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:50:58.729 [debug] Current batch of media processed. Will check again in 1000ms 18:50:59.731 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Celebrate and dance for GP\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 320, "filename" => "/downloads/UnpragmaticCovers/2025-04-25 One More Time - Daft Punk but it's the OldSchool RuneScape soundfont/One More Time - Daft Punk but it's the OldSchool RuneScape soundfont [CHaHIvJqWTE].mp4", "id" => "CHaHIvJqWTE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=CHaHIvJqWTE", "playlist_index" => 145, "timestamp" => 1745589615, "title" => "One More Time - Daft Punk but it's the OldSchool RuneScape soundfont", "upload_date" => "20250425"} 18:50:59.732 [debug] QUERY OK source="sources" db=0.8ms queue=0.2ms idle=651.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:50:59.737 [debug] QUERY OK source="sources" db=4.4ms idle=652.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:50:59.742 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=657.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-25 14:00:15Z], 1] 18:50:59.767 [debug] QUERY OK source="media_items" db=16.7ms queue=0.1ms idle=669.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Celebrate and dance for GP\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "One More Time - Daft Punk but it's the OldSchool RuneScape soundfont", "7bd463dc-5384-4c33-9287-2f635ab7b291", "CHaHIvJqWTE", false, "https://www.youtube.com/watch?v=CHaHIvJqWTE", 1, [], 320, false, 145, "/downloads/UnpragmaticCovers/2025-04-25 One More Time - Daft Punk but it's the OldSchool RuneScape soundfont/One More Time - Daft Punk but it's the OldSchool RuneScape soundfont [CHaHIvJqWTE].mp4", false, false, 99, ~U[2025-04-25 14:00:15Z], ~U[2026-06-27 16:50:59Z], ~U[2026-06-27 16:50:59Z], "Celebrate and dance for GP\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "One More Time - Daft Punk but it's the OldSchool RuneScape soundfont", "CHaHIvJqWTE", "https://www.youtube.com/watch?v=CHaHIvJqWTE", 1, 320, false, "/downloads/UnpragmaticCovers/2025-04-25 One More Time - Daft Punk but it's the OldSchool RuneScape soundfont/One More Time - Daft Punk but it's the OldSchool RuneScape soundfont [CHaHIvJqWTE].mp4", false, ~U[2025-04-25 14:00:15Z]] 18:50:59.768 [debug] QUERY OK source="sources" db=1.0ms idle=684.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:50:59.769 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 18:50:59.772 [debug] QUERY OK source="media_items" db=2.6ms idle=32.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [145] 18:50:59.772 [info] Kicking off download for media item #145 (CHaHIvJqWTE) 18:50:59.780 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=11.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [148, 145, ~U[2026-06-27 16:50:59Z], ~U[2026-06-27 16:50:59Z]] 18:50:59.780 [debug] Current batch of media processed. Will check again in 1000ms 18:51:00.246 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=g0bj1-QECmM --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/44/b3/44b376c6f623a83bace23d30726449f792b20ff9d0a05446684336c13b71a313.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:51:00.249 [debug] Running yt-dlp command for action: download 18:51:00.253 [debug] QUERY OK source="settings" db=3.7ms queue=0.1ms idle=476.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:00.256 [debug] QUERY OK source="settings" db=2.4ms idle=475.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:00.257 [debug] QUERY OK source="settings" db=0.9ms queue=0.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 [] 18:51:00.258 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=g0bj1-QECmM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/89/60/8960baa419317e256bb5cb17afe06edf298743e1b9bd44ef94df1e39a8c401f3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:51:00.659 [info] {"source":"oban","duration":2758,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:51:00.780 [debug] Current batch of media processed. Will check again in 1000ms 18:51:01.782 [debug] Current batch of media processed. Will check again in 1000ms 18:51:02.806 [debug] Current batch of media processed. Will check again in 1000ms 18:51:03.811 [debug] Current batch of media processed. Will check again in 1000ms 18:51:04.814 [debug] Current batch of media processed. Will check again in 1000ms 18:51:05.816 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 317, "filename" => "/downloads/UnpragmaticCovers/2025-04-22 Holding Out for a Hero but it's the OldSchool RuneScape soundfont/Holding Out for a Hero but it's the OldSchool RuneScape soundfont [qQi4hBRmq2w].mp4", "id" => "qQi4hBRmq2w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qQi4hBRmq2w", "playlist_index" => 146, "timestamp" => 1745330481, "title" => "Holding Out for a Hero but it's the OldSchool RuneScape soundfont", "upload_date" => "20250422"} 18:51:05.819 [debug] QUERY OK source="sources" db=2.2ms idle=1714.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:51:05.821 [debug] QUERY OK source="sources" db=1.7ms 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] 18:51:05.824 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=1719.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-22 14:01:21Z], 1] 18:51:05.835 [debug] QUERY OK source="media_items" db=11.0ms idle=1550.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Holding Out for a Hero but it's the OldSchool RuneScape soundfont", "023a8e07-3533-49b4-a7fa-f3bdf7b9e6b2", "qQi4hBRmq2w", false, "https://www.youtube.com/watch?v=qQi4hBRmq2w", 1, [], 317, false, 146, "/downloads/UnpragmaticCovers/2025-04-22 Holding Out for a Hero but it's the OldSchool RuneScape soundfont/Holding Out for a Hero but it's the OldSchool RuneScape soundfont [qQi4hBRmq2w].mp4", false, false, 99, ~U[2025-04-22 14:01:21Z], ~U[2026-06-27 16:51:05Z], ~U[2026-06-27 16:51:05Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Holding Out for a Hero but it's the OldSchool RuneScape soundfont", "qQi4hBRmq2w", "https://www.youtube.com/watch?v=qQi4hBRmq2w", 1, 317, false, "/downloads/UnpragmaticCovers/2025-04-22 Holding Out for a Hero but it's the OldSchool RuneScape soundfont/Holding Out for a Hero but it's the OldSchool RuneScape soundfont [qQi4hBRmq2w].mp4", false, ~U[2025-04-22 14:01:21Z]] 18:51:05.836 [debug] QUERY OK source="sources" db=0.8ms idle=557.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:51:05.842 [debug] QUERY OK source="media_profiles" db=5.5ms 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] 18:51:05.846 [debug] QUERY OK source="media_items" db=3.4ms idle=21.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 [146] 18:51:05.847 [info] Kicking off download for media item #146 (qQi4hBRmq2w) 18:51:05.860 [debug] QUERY OK source="tasks" db=1.7ms idle=21.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [149, 146, ~U[2026-06-27 16:51:05Z], ~U[2026-06-27 16:51:05Z]] 18:51:05.862 [debug] Current batch of media processed. Will check again in 1000ms 18:51:06.865 [debug] Current batch of media processed. Will check again in 1000ms 18:51:07.865 [debug] Current batch of media processed. Will check again in 1000ms 18:51:08.868 [debug] Current batch of media processed. Will check again in 1000ms 18:51:09.869 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 266, "filename" => "/downloads/UnpragmaticCovers/2025-04-18 The Chain - Fleetwood Mac but it's the OldSchool RuneScape soundfont/The Chain - Fleetwood Mac but it's the OldSchool RuneScape soundfont [Hzoo_97mZGo].mp4", "id" => "Hzoo_97mZGo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Hzoo_97mZGo", "playlist_index" => 147, "timestamp" => 1744984826, "title" => "The Chain - Fleetwood Mac but it's the OldSchool RuneScape soundfont", "upload_date" => "20250418"} 18:51:09.875 [debug] QUERY OK source="sources" db=5.1ms queue=0.1ms idle=763.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:51:09.878 [debug] QUERY OK source="sources" db=1.3ms queue=0.7ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:51:09.882 [debug] QUERY OK source="media_items" db=2.8ms queue=1.0ms idle=771.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-18 14:00:26Z], 1] 18:51:09.887 [debug] QUERY OK source="media_items" db=3.4ms idle=776.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "The Chain - Fleetwood Mac but it's the OldSchool RuneScape soundfont", "6ecad18e-a9d1-412b-9cc5-818ebca6311e", "Hzoo_97mZGo", false, "https://www.youtube.com/watch?v=Hzoo_97mZGo", 1, [], 266, false, 147, "/downloads/UnpragmaticCovers/2025-04-18 The Chain - Fleetwood Mac but it's the OldSchool RuneScape soundfont/The Chain - Fleetwood Mac but it's the OldSchool RuneScape soundfont [Hzoo_97mZGo].mp4", false, false, 99, ~U[2025-04-18 14:00:26Z], ~U[2026-06-27 16:51:09Z], ~U[2026-06-27 16:51:09Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "The Chain - Fleetwood Mac but it's the OldSchool RuneScape soundfont", "Hzoo_97mZGo", "https://www.youtube.com/watch?v=Hzoo_97mZGo", 1, 266, false, "/downloads/UnpragmaticCovers/2025-04-18 The Chain - Fleetwood Mac but it's the OldSchool RuneScape soundfont/The Chain - Fleetwood Mac but it's the OldSchool RuneScape soundfont [Hzoo_97mZGo].mp4", false, ~U[2025-04-18 14:00:26Z]] 18:51:09.890 [debug] QUERY OK source="sources" db=0.5ms queue=2.2ms idle=572.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:51:09.893 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=16.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:51:09.897 [debug] QUERY OK source="media_items" db=1.2ms queue=0.2ms idle=17.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 [147] 18:51:09.897 [info] Kicking off download for media item #147 (Hzoo_97mZGo) 18:51:09.908 [debug] QUERY OK source="tasks" db=1.6ms queue=0.1ms idle=16.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [150, 147, ~U[2026-06-27 16:51:09Z], ~U[2026-06-27 16:51:09Z]] 18:51:09.909 [debug] Current batch of media processed. Will check again in 1000ms 18:51:10.912 [debug] Current batch of media processed. Will check again in 1000ms 18:51:11.916 [debug] Current batch of media processed. Will check again in 1000ms 18:51:12.923 [debug] Current batch of media processed. Will check again in 1000ms 18:51:13.924 [debug] Current batch of media processed. Will check again in 1000ms 18:51:14.290 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_IsV3r4RVbY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a9/6f/a96fd1684e76350626d4d1a4a5706940e2c1749ec093849429cd3c03edaba8f1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:51:14.318 [debug] Running yt-dlp command for action: download_thumbnail 18:51:14.324 [debug] QUERY OK source="settings" db=0.4ms idle=1214.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:14.325 [debug] QUERY OK source="settings" db=0.7ms idle=1215.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:14.325 [debug] QUERY OK source="settings" db=0.3ms idle=1216.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:14.326 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_IsV3r4RVbY --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/e9/1b/e91bd1aeaa144bd9a8138575db72789e2717e98f3fd37133fac8aabac29a6f37.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:51:14.925 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Yew\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 224, "filename" => "/downloads/UnpragmaticCovers/2025-04-15 Crank That (Soulja Boy) but it's the OldSchool RuneScape soundfont/Crank That (Soulja Boy) but it's the OldSchool RuneScape soundfont [hkyHvcJWrk8].mp4", "id" => "hkyHvcJWrk8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hkyHvcJWrk8", "playlist_index" => 148, "timestamp" => 1744725663, "title" => "Crank That (Soulja Boy) but it's the OldSchool RuneScape soundfont", "upload_date" => "20250415"} 18:51:14.928 [debug] QUERY OK source="sources" db=1.9ms idle=1576.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:51:14.939 [debug] QUERY OK source="sources" db=4.2ms queue=5.7ms idle=605.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:51:14.942 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=615.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-15 14:01:03Z], 1] 18:51:14.950 [debug] QUERY OK source="media_items" db=6.4ms idle=618.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Yew\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Crank That (Soulja Boy) but it's the OldSchool RuneScape soundfont", "eb38b8ff-2a49-44ec-9540-534708643d85", "hkyHvcJWrk8", false, "https://www.youtube.com/watch?v=hkyHvcJWrk8", 1, [], 224, false, 148, "/downloads/UnpragmaticCovers/2025-04-15 Crank That (Soulja Boy) but it's the OldSchool RuneScape soundfont/Crank That (Soulja Boy) but it's the OldSchool RuneScape soundfont [hkyHvcJWrk8].mp4", false, false, 99, ~U[2025-04-15 14:01:03Z], ~U[2026-06-27 16:51:14Z], ~U[2026-06-27 16:51:14Z], "Yew\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Crank That (Soulja Boy) but it's the OldSchool RuneScape soundfont", "hkyHvcJWrk8", "https://www.youtube.com/watch?v=hkyHvcJWrk8", 1, 224, false, "/downloads/UnpragmaticCovers/2025-04-15 Crank That (Soulja Boy) but it's the OldSchool RuneScape soundfont/Crank That (Soulja Boy) but it's the OldSchool RuneScape soundfont [hkyHvcJWrk8].mp4", false, ~U[2025-04-15 14:01:03Z]] 18:51:14.954 [debug] QUERY OK source="sources" db=3.9ms idle=598.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:51:14.957 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.8ms idle=27.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:51:14.962 [debug] QUERY OK source="media_items" db=0.5ms idle=21.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 [148] 18:51:14.962 [info] Kicking off download for media item #148 (hkyHvcJWrk8) 18:51:14.981 [debug] QUERY OK source="tasks" db=1.1ms idle=25.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [151, 148, ~U[2026-06-27 16:51:14Z], ~U[2026-06-27 16:51:14Z]] 18:51:14.983 [debug] Current batch of media processed. Will check again in 1000ms 18:51:15.986 [debug] Current batch of media processed. Will check again in 1000ms 18:51:16.994 [debug] Current batch of media processed. Will check again in 1000ms 18:51:17.651 [info] {"source":"oban","duration":1755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:17.994 [debug] Current batch of media processed. Will check again in 1000ms 18:51:18.995 [debug] Current batch of media processed. Will check again in 1000ms 18:51:19.996 [debug] Current batch of media processed. Will check again in 1000ms 18:51:20.999 [debug] Current batch of media processed. Will check again in 1000ms 18:51:22.000 [debug] Current batch of media processed. Will check again in 1000ms 18:51:23.030 [debug] Current batch of media processed. Will check again in 1000ms 18:51:23.479 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=g0bj1-QECmM --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)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 --output /downloads/UnpragmaticCovers/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/89/60/8960baa419317e256bb5cb17afe06edf298743e1b9bd44ef94df1e39a8c401f3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:51:23.552 [debug] Running yt-dlp command for action: download_thumbnail 18:51:23.557 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1444.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:23.560 [debug] QUERY OK source="settings" db=0.7ms queue=0.3ms idle=1446.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:23.564 [debug] QUERY OK source="settings" db=3.4ms idle=1132.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:23.565 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=g0bj1-QECmM --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/b9/fc/b9fc59f8dfcdba6961f9e148cf2cc86939352dc8cc0defd8ff3cfb837284282a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:51:24.035 [debug] Current batch of media processed. Will check again in 1000ms 18:51:25.039 [debug] Current batch of media processed. Will check again in 1000ms 18:51:26.042 [debug] Current batch of media processed. Will check again in 1000ms 18:51:27.043 [debug] Current batch of media processed. Will check again in 1000ms 18:51:28.084 [debug] Current batch of media processed. Will check again in 1000ms 18:51:29.088 [debug] Current batch of media processed. Will check again in 1000ms 18:51:30.090 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 228, "filename" => "/downloads/UnpragmaticCovers/2025-04-11 Hey There Delilah but it's the OldSchool RuneScape soundfont/Hey There Delilah but it's the OldSchool RuneScape soundfont [5KmQ6aPmVSA].mp4", "id" => "5KmQ6aPmVSA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5KmQ6aPmVSA", "playlist_index" => 149, "timestamp" => 1744380011, "title" => "Hey There Delilah but it's the OldSchool RuneScape soundfont", "upload_date" => "20250411"} 18:51:30.094 [debug] QUERY OK source="sources" db=1.9ms queue=0.1ms idle=948.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:51:30.098 [debug] QUERY OK source="sources" db=1.9ms queue=0.3ms idle=953.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:51:30.105 [debug] QUERY OK source="media_items" db=3.8ms queue=2.6ms idle=956.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-11 14:00:11Z], 1] 18:51:30.113 [debug] QUERY OK source="media_items" db=6.0ms idle=963.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Hey There Delilah but it's the OldSchool RuneScape soundfont", "e21494d9-1161-4f1f-a96d-f3cc1fa4533b", "5KmQ6aPmVSA", false, "https://www.youtube.com/watch?v=5KmQ6aPmVSA", 1, [], 228, false, 149, "/downloads/UnpragmaticCovers/2025-04-11 Hey There Delilah but it's the OldSchool RuneScape soundfont/Hey There Delilah but it's the OldSchool RuneScape soundfont [5KmQ6aPmVSA].mp4", false, false, 99, ~U[2025-04-11 14:00:11Z], ~U[2026-06-27 16:51:30Z], ~U[2026-06-27 16:51:30Z], "Artwork credit to Lilly\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Hey There Delilah but it's the OldSchool RuneScape soundfont", "5KmQ6aPmVSA", "https://www.youtube.com/watch?v=5KmQ6aPmVSA", 1, 228, false, "/downloads/UnpragmaticCovers/2025-04-11 Hey There Delilah but it's the OldSchool RuneScape soundfont/Hey There Delilah but it's the OldSchool RuneScape soundfont [5KmQ6aPmVSA].mp4", false, ~U[2025-04-11 14:00:11Z]] 18:51:30.116 [debug] QUERY OK source="sources" db=1.8ms queue=0.1ms idle=519.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:51:30.119 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=25.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:51:30.122 [debug] QUERY OK source="media_items" db=1.2ms idle=23.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [149] 18:51:30.123 [info] Kicking off download for media item #149 (5KmQ6aPmVSA) 18:51:30.138 [debug] QUERY OK source="tasks" db=1.5ms queue=0.6ms idle=19.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [152, 149, ~U[2026-06-27 16:51:30Z], ~U[2026-06-27 16:51:30Z]] 18:51:30.138 [debug] Current batch of media processed. Will check again in 1000ms 18:51:31.142 [debug] Current batch of media processed. Will check again in 1000ms 18:51:32.160 [debug] Current batch of media processed. Will check again in 1000ms 18:51:33.165 [debug] Current batch of media processed. Will check again in 1000ms 18:51:34.166 [debug] Current batch of media processed. Will check again in 1000ms 18:51:35.169 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I'm begging of you please don't take my world\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 156, "filename" => "/downloads/UnpragmaticCovers/2025-04-08 Jolene - Dolly Parton but it's the OldSchool RuneScape soundfont/Jolene - Dolly Parton but it's the OldSchool RuneScape soundfont [bzaovjm5xfw].mp4", "id" => "bzaovjm5xfw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bzaovjm5xfw", "playlist_index" => 150, "timestamp" => 1744120850, "title" => "Jolene - Dolly Parton but it's the OldSchool RuneScape soundfont", "upload_date" => "20250408"} 18:51:35.178 [debug] QUERY OK source="sources" db=8.3ms idle=522.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:51:35.182 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=30.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:51:35.185 [debug] QUERY OK source="media_items" db=1.8ms queue=0.6ms idle=31.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-08 14:00:50Z], 1] 18:51:35.188 [debug] QUERY OK source="media_items" db=1.8ms queue=0.2ms idle=35.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I'm begging of you please don't take my world\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Jolene - Dolly Parton but it's the OldSchool RuneScape soundfont", "c93269e7-7c6d-4e05-9ddc-aa5e81869686", "bzaovjm5xfw", false, "https://www.youtube.com/watch?v=bzaovjm5xfw", 1, [], 156, false, 150, "/downloads/UnpragmaticCovers/2025-04-08 Jolene - Dolly Parton but it's the OldSchool RuneScape soundfont/Jolene - Dolly Parton but it's the OldSchool RuneScape soundfont [bzaovjm5xfw].mp4", false, false, 99, ~U[2025-04-08 14:00:50Z], ~U[2026-06-27 16:51:35Z], ~U[2026-06-27 16:51:35Z], "I'm begging of you please don't take my world\nArtwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "Jolene - Dolly Parton but it's the OldSchool RuneScape soundfont", "bzaovjm5xfw", "https://www.youtube.com/watch?v=bzaovjm5xfw", 1, 156, false, "/downloads/UnpragmaticCovers/2025-04-08 Jolene - Dolly Parton but it's the OldSchool RuneScape soundfont/Jolene - Dolly Parton but it's the OldSchool RuneScape soundfont [bzaovjm5xfw].mp4", false, ~U[2025-04-08 14:00:50Z]] 18:51:35.190 [debug] QUERY OK source="sources" db=0.5ms queue=0.4ms idle=38.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:51:35.192 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.3ms 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:51:35.196 [debug] QUERY OK source="media_items" db=2.4ms queue=0.2ms idle=11.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [150] 18:51:35.196 [info] Kicking off download for media item #150 (bzaovjm5xfw) 18:51:35.208 [debug] QUERY OK source="tasks" db=1.0ms queue=0.1ms idle=16.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [153, 150, ~U[2026-06-27 16:51:35Z], ~U[2026-06-27 16:51:35Z]] 18:51:35.209 [debug] Current batch of media processed. Will check again in 1000ms 18:51:35.458 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=g0bj1-QECmM --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/b9/fc/b9fc59f8dfcdba6961f9e148cf2cc86939352dc8cc0defd8ff3cfb837284282a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:51:35.459 [debug] QUERY OK db=0.1ms queue=0.1ms idle=267.1ms begin [] 18:51:35.463 [debug] QUERY OK source="media_items" db=3.6ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/UnpragmaticCovers/2026-03-13 Hey Ya! - OutKast but it's the OldSchool RuneScape soundfont/Hey Ya! - OutKast but it's the OldSchool RuneScape soundfont [g0bj1-QECmM].mp4", "/downloads/UnpragmaticCovers/2026-03-13 Hey Ya! - OutKast but it's the OldSchool RuneScape soundfont/Hey Ya! - OutKast but it's the OldSchool RuneScape soundfont [g0bj1-QECmM]-thumb.jpg", ~U[2026-06-27 16:51:23Z], ~U[2026-06-27 16:51:35Z], 32] 18:51:35.465 [debug] QUERY OK source="media_metadata" db=1.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/32/metadata.json.gz", "/config/metadata/media_items/32/thumbnail.jpg", 32, ~U[2026-06-27 16:51:35Z], ~U[2026-06-27 16:51:35Z]] 18:51:35.466 [debug] QUERY OK db=0.9ms commit [] 18:51:35.470 [debug] QUERY OK source="media_items" db=2.4ms queue=0.3ms idle=271.4ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [5689234, ~U[2026-06-27 16:51:35Z], 32] 18:51:35.471 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:51:35.473 [info] {"args":{"id":32},"id":35,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":43609066,"event":"job:stop","queue_time":363858690,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:51:35.485 [info] {"args":{"id":33},"id":36,"meta":{},"system_time":1782579095483544739,"max_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:51:35.486 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=277.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [33] 18:51:35.487 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:51:35.488 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=21.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:51:35.489 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=18.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:51:35.490 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=16.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [33] 18:51:35.495 [debug] QUERY OK source="media_metadata" db=0.5ms idle=12.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] 18:51:35.496 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.1ms idle=8.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:51:35.501 [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 [] 18:51:35.502 [debug] QUERY OK source="settings" db=0.6ms 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:51:35.505 [debug] Running yt-dlp command for action: get_downloadable_status 18:51:35.510 [debug] QUERY OK source="settings" db=0.5ms queue=0.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 [] 18:51:35.513 [debug] QUERY OK source="settings" db=3.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 [] 18:51:35.516 [debug] QUERY OK source="settings" db=1.6ms queue=1.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 [] 18:51:35.516 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZJQpyKj7r-0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/17/3f/173f9b754d785198a6ee469005c8208c2939c4d2a98c3ade13e019140697ba6e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:51:36.210 [debug] Current batch of media processed. Will check again in 1000ms 18:51:37.217 [debug] Current batch of media processed. Will check again in 1000ms 18:51:38.219 [debug] Current batch of media processed. Will check again in 1000ms 18:51:39.008 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_IsV3r4RVbY --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/e9/1b/e91bd1aeaa144bd9a8138575db72789e2717e98f3fd37133fac8aabac29a6f37.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:51:39.015 [debug] QUERY OK db=0.5ms queue=5.0ms idle=1858.7ms begin [] 18:51:39.022 [debug] QUERY OK source="media_items" db=7.3ms UPDATE "media_items" SET "media_filepath" = ?, "thumbnail_filepath" = ?, "media_downloaded_at" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/UnpragmaticCovers/2026-03-17 I'm Shipping Up to Boston - Dropkick Murphys but it's the OldSchool RuneScape soundfont/I'm Shipping Up to Boston - Dropkick Murphys but it's the OldSchool RuneScape soundfont [_IsV3r4RVbY].mp4", "/downloads/UnpragmaticCovers/2026-03-17 I'm Shipping Up to Boston - Dropkick Murphys but it's the OldSchool RuneScape soundfont/I'm Shipping Up to Boston - Dropkick Murphys but it's the OldSchool RuneScape soundfont [_IsV3r4RVbY]-thumb.jpg", ~U[2026-06-27 16:51:14Z], ~U[2026-06-27 16:51:39Z], 31] 18:51:39.024 [debug] QUERY OK source="media_metadata" db=1.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/31/metadata.json.gz", "/config/metadata/media_items/31/thumbnail.jpg", 31, ~U[2026-06-27 16:51:39Z], ~U[2026-06-27 16:51:39Z]] 18:51:39.026 [debug] QUERY OK db=0.9ms commit [] 18:51:39.032 [debug] QUERY OK source="media_items" db=1.2ms idle=1880.3ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [5392435, ~U[2026-06-27 16:51:39Z], 31] 18:51:39.033 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:51:39.038 [info] {"args":{"id":31},"id":34,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":49212579,"event":"job:stop","queue_time":365817044,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:51:39.054 [info] {"args":{"id":34},"id":37,"meta":{},"system_time":1782579099054045963,"max_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:51:39.055 [debug] QUERY OK source="media_items" db=0.8ms idle=334.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" = ?) [34] 18:51:39.056 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:51:39.058 [debug] QUERY OK source="sources" db=0.9ms queue=0.6ms idle=30.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 18:51:39.059 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.7ms 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] 18:51:39.061 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=22.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [34] 18:51:39.064 [debug] QUERY OK source="media_metadata" db=0.2ms idle=10.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" = ?) [34] 18:51:39.066 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.2ms idle=9.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:51:39.067 [debug] QUERY OK source="settings" db=0.4ms 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:51:39.068 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 18:51:39.070 [debug] Running yt-dlp command for action: get_downloadable_status 18:51:39.072 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=10.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:51:39.073 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms 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 [] 18:51:39.074 [debug] QUERY OK source="settings" db=0.5ms queue=0.3ms 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 [] 18:51:39.074 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=TaWu7y7hobI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c5/76/c5769305100a56e8b22576994f390c7efd222d843dfc26c5cbc2d3d812505d59.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:51:39.231 [debug] Current batch of media processed. Will check again in 1000ms 18:51:40.232 [debug] Current batch of media processed. Will check again in 1000ms 18:51:41.247 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "duration" => 207, "filename" => "/downloads/UnpragmaticCovers/2025-04-04 In the End - Linkin Park but it's the OldSchool RuneScape soundfont/In the End - Linkin Park but it's the OldSchool RuneScape soundfont [GexGh79C1kI].mp4", "id" => "GexGh79C1kI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GexGh79C1kI", "playlist_index" => 151, "timestamp" => 1743775230, "title" => "In the End - Linkin Park but it's the OldSchool RuneScape soundfont", "upload_date" => "20250404"} 18:51:41.249 [debug] QUERY OK source="sources" db=0.9ms idle=1095.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 18:51:41.252 [debug] QUERY OK source="sources" db=2.4ms idle=1097.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_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:51:41.256 [debug] QUERY OK source="media_items" db=3.9ms idle=1099.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-04 14:00:30Z], 1] 18:51:41.275 [debug] QUERY OK source="media_items" db=17.9ms idle=1104.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","prevent_download","original_url","source_id","subtitle_filepaths","duration_seconds","livestream","playlist_index","predicted_media_filepath","prevent_culling","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "original_url" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "In the End - Linkin Park but it's the OldSchool RuneScape soundfont", "26642f2f-e0dd-4ec3-b3c6-f07b5d33abf5", "GexGh79C1kI", false, "https://www.youtube.com/watch?v=GexGh79C1kI", 1, [], 207, false, 151, "/downloads/UnpragmaticCovers/2025-04-04 In the End - Linkin Park but it's the OldSchool RuneScape soundfont/In the End - Linkin Park but it's the OldSchool RuneScape soundfont [GexGh79C1kI].mp4", false, false, 99, ~U[2025-04-04 14:00:30Z], ~U[2026-06-27 16:51:41Z], ~U[2026-06-27 16:51:41Z], "Artwork credit to Ren.\nSupport the channel on ko-fi: https://ko-fi.com/unpragmaticcovers", "In the End - Linkin Park but it's the OldSchool RuneScape soundfont", "GexGh79C1kI", "https://www.youtube.com/watch?v=GexGh79C1kI", 1, 207, false, "/downloads/UnpragmaticCovers/2025-04-04 In the End - Linkin Park but it's the OldSchool RuneScape soundfont/In the End - Linkin Park but it's the OldSchool RuneScape soundfont [GexGh79C1kI].mp4", false, ~U[2025-04-04 14:00:30Z]] 18:51:41.277 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=528.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."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:51:41.281 [debug] QUERY OK source="media_profiles" db=2.2ms queue=1.1ms idle=28.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 18:51:41.284 [debug] QUERY OK source="media_items" db=2.5ms idle=29.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [151] 18:51:41.284 [info] Kicking off download for media item #151 (GexGh79C1kI) 18:51:41.301 [debug] QUERY OK source="tasks" db=0.9ms idle=22.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [154, 151, ~U[2026-06-27 16:51:41Z], ~U[2026-06-27 16:51:41Z]] 18:51:41.301 [debug] Current batch of media processed. Will check again in 1000ms 18:51:42.303 [debug] Current batch of media processed. Will check again in 1000ms 18:51:43.335 [debug] Current batch of media processed. Will check again in 1000ms 18:51:44.338 [debug] Current batch of media processed. Will check again in 1000ms